2010-11-21 21 views
-1

Je voudrais obtenir la vue parent de UITextField sur ma cellule définie par l'utilisateur. Ce que j'ai essayé c'est juste d'appeler la méthode superview et elle retourne UIView, pas une vue de ma cellule. J'ai donc invoqué plusieurs fois Superview.Pourquoi il y a tant de contrôleurs entre UITextField de la cellule définie par l'utilisateur et la vue de la cellule

UITextField -> UIView -> UITableViewCellContentView -> MyCellView

Il sont deux vues plus inattendu. Quels sont ceux et pourquoi?

add desc.) J'ai créé ma propre cellule et il y a un UITextField.

+1

Le UIView intérieur UITableViewCellContentView est créé par votre application (peut-être par Interface Builder). La vue de contenu correspond à la propriété UITableViewCell.contentView; il est là pour aider à la mise en page appropriée lorsque votre cellule a une vue accessoire ou un contrôle d'édition. –

Répondre

0

Un UITableViewCell a un contentView où les affichages personnalisés sont ajoutés. vous pouvez exécuter une boucle jusqu'à ce que vous obtenez le MyCellView

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

// now you get the view as MyCellView