2010-11-21 8 views
-1

Ich möchte übergeordnete Ansicht von UITextField in meiner benutzerdefinierten Zelle abrufen. Was ich versucht habe, ist nur Superview-Methode aufrufen und es gibt UIView, nicht eine meine Zelle Ansicht. Also habe ich Superview mehrmals aufgerufen.Warum gibt es so viele Controller zwischen UITextField der benutzerdefinierten Zelle und der Zellenansicht

UITextField -> UIView -> UITableViewCellContentView -> MyCellView

Es sind zwei weitere unerwartete Ansicht. Was sind das und WARUM?

add desc.) Ich habe meine eigene Zelle gemacht und es gibt ein UITextField.

+1

Die UIView innerhalb UITableViewCellContentView erhalten wird durch Ihre Anwendung erstellt (möglicherweise von Interface Builder). Die Inhaltsansicht entspricht der UITableViewCell.contentView-Eigenschaft. Es ist da, um das richtige Layout zu unterstützen, wenn Ihre Zelle eine Zubehöransicht oder Bearbeitungssteuerung hat. –

Antwort

0

Ein UITableViewCell hat eine contentView, in der die benutzerdefinierten Ansichten hinzugefügt werden. Sie können eine Schleife ausgeführt, bis Sie die MyCellView

View view = textView.superView; 
while(![view isKindOfClass: [MyCellView class]]){ 
    view = view.superView; 
} 

// now you get the view as MyCellView