Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

addSubview problem


  • Zaloguj się, aby dodać odpowiedź
5 odpowiedzi w tym temacie

#1 goose

goose
  • 18 postów

Napisano 26 maja 2011 - 11:29

Witam,

w cellForRowAtIndexPath dodaje sobie swój widok do cell.

if (cell == nil) {
        ...
        
        MyView *myView = [[MyView alloc] initWithFrame: rect];
        [cell addSubview:myView];
        [myView release];
}

[self configureCell:cell atIndexPath:indexPath];

Natomiast w configureCell chciałbym mieć dostęp do metody z myView, żeby coś tam na moim widoku zmienić.
Czy jest to możliwe? Jak dobrać się do metod z myView?

Dzięki za pomoc.

#2 tomekh7

tomekh7
  • 73 postów

Napisano 26 maja 2011 - 12:12

Możesz "przeiterować" po wszystkich podwidokach tej komórki [cell subviews] i znleźć ten widok, który dodajesz. Myślę, że ładniejszym rozwiązaniem byłoby zrobienie jakiegoś CustomCell i udostępnić ten widok poprzez jakąś metodę lub pole.

#3 goose

goose
  • 18 postów

Napisano 26 maja 2011 - 12:15

Co rozumiesz przez "przeliterować"?

#4 macieks72

macieks72

  • 9 873 postów

Napisano 26 maja 2011 - 12:27

Pewnie coś takiego, pseudo code:
foreach (cell.subviews as subview)
{
	if (subview.name == "ten_suszany_subview")
	{
		return subview;
	}
}


#5 wojtkow

wojtkow


  • 6 767 postów
  • Płeć:
  • SkądPoznań

Napisano 26 maja 2011 - 21:57

Z tym, że zamiast sprawdzać nazwę, co jest pasiarskie, sprawdzaj typ subview

if (subview && [subview isKindOfClass:[MyView class]])  {
	return subview;

}


#6 wezuwiusz

wezuwiusz
  • 783 postów
  • SkądDublin, Katowice

Napisano 27 maja 2011 - 19:28

a nie prosciej ustawic taga dla myview i potem uzyc 'viewWithTag' ?




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych