2016-03-29 4 views
3

Ich würde gerne wissen, ob es eine Option gibt, um das Bearbeitungsmenü in der Tabellenansicht zu schließen (wie in der screenshot gezeigt), die wir erhalten, wenn wir nach rechts wischen. Ich möchte, dass das Menü geschlossen wird, sobald ich eine Option auswähle, in meinem Fall wird es nicht geschlossen, selbst wenn ich irgendeine Option auswähle. Es schließt nur, wenn ich irgendwo auf dem Bildschirm wähle.IOS Swift TableView Edit Aktion für Zeile bei Index Pfad

Unten ist mein Code, der

func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) { 

} 

func tableView(tableView: UITableView!, canEditRowAtIndexPath indexPath: NSIndexPath!) -> Bool { 
    return true 
} 

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? 
{ 
    let update = UITableViewRowAction(style: .Normal, title: "Update") { action, index in 
     print("update") 
    } 
    let delete = UITableViewRowAction(style: .Default, title: "Delete") { action, index in 
     print("Delete") 

    } 
    return [delete, update] 
} 

enter image description here

+0

Versuchen Sie 'self.tableView.setEditing (false, animated: true)' in Ihrem Aktionsblock aufzurufen? Möglicherweise müssen Sie es später aktivieren, obwohl – Tj3n

+0

@ Tj3n Vielen Dank – vanquish

Antwort

2

Sie müssen im mit nur die bestimmte Zelle neu zu laden und es liegt in der Nähe der Option.

Dafür können Sie folgenden Code verwenden, kann dies Ihr Problem lösen.

self.tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top) 

Sie können auch

self.tableView.setEditing(false, animated: true) 

Glücklich Codierung verwenden.

+0

Danke nimt. – vanquish

Verwandte Themen