2010-05-26 4 views
0

Je suppose que ma description n'est pas assez claire. Donc, je vais essayer à nouveau:Comment forcer un textField à devenir modifiable?

  1. Imaginez qu'il y ait un ViewController, appelé Picture, qui affiche deux lignes, Titre et Description.
  2. Si l'utilisateur appuie sur l'une des lignes, un nouveau contrôleur de vue est affiché, soit le contrôleur de vue Titre ou Description.
  3. Chacun de ces contrôleurs de vue (c'est-à-dire le titre ou la description) affiche un seul brut d'une cellule personnalisée avec un UITextField.

Le problème:

  • Supposons que les types d'utilisateurs dans un titre et frappe le bouton Terminé ---> Le titre est affiché dans le contrôleur de vue de l'image. - C'est bon.
  • Si j'appuie à nouveau sur la ligne Titre, le contrôleur de vue de titre est affiché mais le texte placeHolder est affiché à la place du titre saisi précédemment par l'utilisateur. - c'est mauvais!

J'ai essayé d'utiliser [[cellule mTitre] setText: picTitle] mais cela ne s'affiche pas.

+0

Je pense que vous voulez dire UITextField, il n'y a pas d'UITextLabel. – progrmr

+0

Bien sûr. Je l'ai corrigé. Merci. –

Répondre

0

Si vous utilisez un UITextLabel, il n'est pas modifiable. Si vous utilisez un champ UIText, il doit être modifiable après setText Si vous utilisez un UITextView, définissez editable = YES;

+0

J'utilise UITextFiled et après le setText c'est comme si le texte couvrait le textField. Par exemple, je limite la longueur du texte pour 6 caractères. Si j'essaie de taper quelque chose, le texte ne change pas mais si je dépasse six caractères, je reçois une alerte que je lance. –

+0

Maintenant ça marche. J'ai essayé setText de la cellule ([cell setMText: ...]) au lieu d'utiliser la fonction delegate - (void) textFieldDidBeginEditing: (UITextField *) textField –

Questions connexes