Je crée un menu "Pages favorites" dans mon application TableView, où les utilisateurs peuvent enregistrer leurs pages Web préférées, puis la naviguer plus facilement via le menu. P>
Pour faciliter le souvenir duquel le lien est lequel, je souhaite permettre à l'utilisateur de cliquer sur un bouton "Modifier", sélectionnez la cellule qui souhaite modifier le nom de, puis tapez le nouveau nom et avoir La cellule renomme elle-même à ce que l'utilisateur a saisi. J'utilise actuellement l'application Paramètres intégrée pour enregistrer les données de liaison. P>
Je n'ai pas besoin de connaître tous les aspects de ce que je viens de demander. Je veux juste savoir s'il est possible que l'utilisateur modifie le texte de la cellule d'une vision de la TableView, et quelles méthodes je voudrais utiliser pour le faire. P>
J'ai vu d'autres questions couvrant un motif similaire, mais de manière générale d'une base plus programmatique. P>
3 Réponses :
L'utilisateur ne peut pas modifier directement le texte de la cellule d'une vue de table. (Techniquement, ce serait la cellule.textLabel.text). Toutefois, s'ils entrent dans un mode "Edit", vous pouvez facilement afficher un champ uitéxt dans la cellule (ou dans une vue modale) prépopulée avec la valeur actuelle, laissez-les éditer, sauvegarder puis mettre à jour la cellule.textLabel. Valeur de texte vous-même. P>
Donc, je pense que le meilleur moyen est d'utiliser TabelView Cell Edityle.
Vous pouvez utiliser TableView délégué Set Cell EdiDstyle. Vous pouvez faire quelque chose que vous voulez lorsque l'utilisateur éditez la cellule.
Définir le style de cellule dans: faire des choses lorsque l'utilisateur cliquez sur le bouton Modifier dans: P> - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
Ce n'est pas le même genre de "modifier" - ce type d'édition fait référence à la déplacement de la cellule ou à la supprimer.
-1 pour ce que @rayfleck a dit. Supprimer cette réponse pourrait être la bonne réponse, ou vous pourriez répondre aux commentaires.
Votre (un des délégués pour le Donc, si vous sous-classe Ensuite, lorsque l'utilisateur touche le si vous faites le UitailView code> est créé ici, généralement
utableview code>). p>
UitailViewCell Expose> et exposez un texte code> Propriété, vous pouvez faire ce que vous voulez, y compris la maintien d'un
uitextfield code> instance dans la cellule. Assurez-vous d'utiliser les trucs dequeue comme vous le feriez normalement. P>
uitabilviewcell code> Vous pouvez donner le
uitextfield code> la mise au point: < / p>
utableviewcell code> Sous-classe A
uitextfieldelegate code> et faites le délégué pour le champ de texte, vous pouvez facilement gérer Ces méthodes ennuyeusement de mémoire difficiles: p>
Dupliqué possible de EdifitableView d'entretien avec un champ de texte sur chaque cellule
@JIM Merci mais ce poste fait référence à être le champ de texte intégré étant toujours ouvert.