ajouter des boutons supplémentaires dans UITableView de balayage
Actuellement, je suis en utilisant NSFetchedResultsController pour gérer tableviews.
Je me demande est-il possible d'ajouter des boutons supplémentaires comme le bouton supprimer dans l'opération balayage?
Je pense à propos de la sous-classe. Mais rien de pertinent dans l'aide docs à mes problèmes.
Merci d'avance.
OriginalL'auteur AlexWei | 2015-01-09
Vous devez vous connecter pour publier un commentaire.
Votre titre est trompeur. NSFetchedResultsController n'a pas de pertinence par rapport à votre objectif final. Sous-classement voudrais juste créer plus de travail que nécessaire, ce que vous voulez examiner est
UITableViewRowAction
. Cela gère très facilement & de même pour la nouvelleUIAlertController
, de sorte que vous devriez vous sentir très à l'aise avec ce si vous avez déjà flirté avec leUIAlertController
Un bref résumé (directement à partir de les docs) de
UITableViewRowAction
:Quelques notes avant de commencer :
Peu importe, pour mettre en œuvre une coutume
UITableViewRowAction
vous devez d'abord vous assurer que votre table est modifiable en appelant les méthodes suivantes:Au minimum, ceux sont les deux méthodes qui doivent être déclarés avant de passer.
De réellement personnaliser votre rangée de boutons d'action, de suivre la règle générale comme suit:
ÉTAPE 1 mettre en œuvre les
tableView:editActionsForRowAtIndexPath:
méthodeComme vous pouvez le voir, c'est une méthode d'instance de type NSArray, de sorte que vous devez retourner un tableau.
ÉTAPE 2 Ajouter les objets d'action de passer dans le tableau. Un exemple:
Vous pouvez modifier quelques propriétés de ces rangée actions, mais voir les documents pour compléter les options de personnalisation:
Pour personnaliser la ligne d'action que les couleurs de fond, il suffit de préforme comme la plupart des autres actions au sein de boutons:
ÉTAPE 3
Comme mentionné avant, vous devrez retourner un tableau dans la méthode d'instance, de sorte que votre code doit ressembler à ce qui suit :
Pour de plus amples référence : LIEN VERS LA DOCUMENTATION
ÉDITÉ POUR SWIFT SYNTAXE
Peut-être que vous pourriez clarifier puis @AlexWei je suis plus que disposé à modifier ma réponse. La raison pour laquelle je suis confus est parce que le NSFetchedResultsController simplement récupère les infos de base de données à afficher dans UITableView. Les boutons d'action sont une partie de la UITableView pas chercher contrôleur. Si vous pouviez poster un lien de référence ou une image à votre question, je pourrais mieux comprendre pour vous aider
Il semble que je suis totalement faux. Je ne savais pas que "Les boutons d'action sont une partie de la UITableView pas chercher contrôleur". Je pensais que les boutons appartient à l'extraction de la manette. 🙁
J'ai fixé les titres. Merci encore pour votre aide généreuse!
c'est ok. Nous sommes tous ici pour apprendre et grandir! Je ne voulais pas vous laisser suspendus sans une résolution de votre problème. C'est pourquoi je suggère de modifier le titre afin que d'autres personnes avec la même question pourrait trouver une solution.
OriginalL'auteur soulshined
Toutes les félicitations à @soulshined accepté de répondre.
Ici est la Swift 3 version:
OriginalL'auteur Gunhan