2010-11-16 13 views
1

UITableViewCell de type UITableViewCellStyleValue1 est ce qui est utilisé dans les Paramètres de l'iPhone/iPad. Je voudrais savoir comment faire un UITableViewCell qui vous permet d'éditer une chaîne sécurisée en place (montrant des points au lieu du texte réel) dans detailTextLabel semblable au réglage du champ de mot de passe dans la création d'un nouveau compte de messagerie pour l'iPhone .Comment faire une modification in situ UITableViewCell (UITableViewCellStyleValue1) de detailTextLabel (comme un mot de passe pour un compte de messagerie électronique)

Quelqu'un at-il une idée de comment cela est fait?

Merci à l'avance,

Shiun

Répondre

1

Je voudrais créer une sous-classe personnalisée UITableViewCell. Placez un UITextField sans bordure dans la cellule. Faites de la cellule le délégué du champ de texte afin que la cellule puisse gérer le cas lorsque l'utilisateur appuie sur et modifie le champ de texte. Chaque fois que l'utilisateur met à jour le champ de texte, la cellule doit probablement informer le contrôleur de vue de table (via le modèle de délégué ou une notification personnalisée) afin que le contrôleur de vue puisse enregistrer la nouvelle valeur.

En outre, dans tableView:didSelectRowAtIndexPath:, le contrôleur de vue doit afficher le clavier pour le champ de texte (-becomeFirstResponder).

+0

Ok .... J'ai oublié de mentionner que UITableView comprendra des cellules qui auront besoin de cette interactivité alors que d'autres devront utiliser par défaut le UITableViewCellStyle1 où le detailTextLabel devra être utilisé pour afficher le texte réel qui n'est pas utilisateur interactif. Je suppose que je peux activer/désactiver hide/afficher le UITextField de la sous-classe en fonction des cellules qui ont besoin de cette fonctionnalité. Merci, je vais essayer votre suggestion – Shiun

+0

Vous pouvez décider dans 'tableView: cellForRowAtIndexPath:' basé sur 'indexPath' quel type de cellule à créer. Donnez simplement aux deux types différents identifiants de réutilisation. –

+0

Merci pour la réponse et d'autres suggestions. Je l'ai juste implémenté comme tu l'as indiqué et ça marche :-) – Shiun