Table de jeu de vue en mode d'édition
J'ai un UITableView
dans un UIViewController
et avons ajouté un bouton de modification de code plutôt que de l'IB. Cela vient avec UITableViewControllers
mais pas UIVCs. Comment puis-je obtenir ce bouton pour mettre l'affichage de la table en mode d'édition rapide? Merci d'avance pour toute aide.
class WordsViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.rightBarButtonItem = self.editButtonItem()
}
func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return true
}
}
OriginalL'auteur richc | 2015-12-08
Vous devez vous connecter pour publier un commentaire.
Créer
rightBarButtonItem
comme ci-dessous avec une action.Dans
viewDidLoad()
:et ensuite faire une fonction comme,
Assurez-vous,
:
est ajouté le nom de la fonctionSelector
d'action dansviewDidLoad
Espérons que cela aide!
Mise à jour de ma réponse!
Cette distinction de cas est pourquoi vous devriez utiliser le construit en
editButtonItem
.Dans votre viewWillAppear() doit l'emporter sur la touche func, il suffit d'appeler la touche func de showEditing(néant). Vous devez mettre à jour cette fonction avec l'option bouton de la barre.
OriginalL'auteur iRiziya
Swift 3 & 4 réponse à mon humble avis est mieux que les autres réponses:
Pourquoi dois-je pense que c'est mieux:
OriginalL'auteur Tung Fam
Appeler cette méthode sur le bouton cliquez sur.
Ou si vous voulez qu'il fonctionne comme un interrupteur l'utilisation
Je suppose que vous avez un bouton qui appelle
editButtonPressed
sur la presse. Donc, la mise en œuvre de cette méthode pourrait ressembler à ceci.Cela change aussi le titre du bouton de la barre d'.
OriginalL'auteur njuri
Voici une solution pour Swift 4.2:
La vue du contrôleur de
setEditing
est appelé par défaut lors de laeditButtonItem
est pressé. Par défaut, appuyez sur le bouton de bascule de son titre entre "Modifier" et "Fait", afin de l'appelantsuper.setEditing
prend soin de cela pour nous, et nous utilisons latableView
'ssetEditing
méthode pour faire basculer l'état d'édition de l'affichage de la table.Sources:
OriginalL'auteur Jared Cleghorn
Remplacer la vue du contrôleur de
-setEditing:animated:
, call super, et l'appel à la même méthode sur votre table.Je ne sais pas Swift syntaxe, je ne peux le poster en Objective-C.
je ne sais pas ObjC donc je vais laisser quelqu'un d'autre de voter pour votre réponse! Merci pour votre aide!
OriginalL'auteur Christian Schnorr
Swift version 3.0 de njuri post:
OriginalL'auteur Mike Kirkwood