Si prega di provare questo codice swift,
override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
// let the controller to know that able to edit tableView's row
return true
}
override func tableView(tableView: UITableView, commitEditingStyle editingStyle UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
// if you want to apply with iOS 8 or earlier version you must add this function too. (just left in blank code)
}
override func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {
// add the action button you want to show when swiping on tableView's cell , in this case add the delete button.
let deleteAction = UITableViewRowAction(style: .Default, title: "Delete", handler: { (action , indexPath) -> Void in
// Your delete code here.....
.........
.........
})
// You can set its properties like normal button
deleteAction.backgroundColor = UIColor.redColor()
return [deleteAction]
}
fonte
2015-07-08 16:16:20
consultare il link, si può aiutare, http://stackoverflow.com/questions/3309484/uitableviewcell- show-delete-button-on-swipe – Sharme
Ho sovrascritto commitEditingStyle e ho impostato Modifica su YES e anche NOW ho sovrascritto CanEditRowAtIndexPath. I normali comandi di modifica vengono visualizzati in cui appare il clic sul pulsante di cancellazione. Ma non per lo swiping! È perché la mia classe è una sottoclasse di UIViewController e implementa solo i metodi delegato e origine dati ma non di UITableViewController che potrebbe fare qualcosa per abilitare un gesto di scorrimento. –
Ho appena impostato un UITableView come IBOutlet in un UIViewController ieri, e seguendo esattamente il post che ho mostrato, ho fatto scorrere il dito per cancellare. Quindi posso dire che non è necessario abilitare i gesti di scorrimento, anche se se davvero non riesci a farlo funzionare in un altro modo, potresti dover ricorrere a quello. – gurooj