В моем представлении таблицы я хочу, чтобы определенные ячейки могли перемещаться влево для некоторых опций, основанных на условии. Остальные ячейки должны вести себя так, как будто commitEditingStyle
отключен. Это возможно?Можно ли отключить commitEditingStyle программно?
С помощью приведенного ниже кода я могу добавить действия, когда выполняются условия, но другие ячейки по-прежнему получают действие «удалить» по умолчанию. Как я могу избавиться от этого действия удаления?
override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
}
override func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? {
let object = items[indexPath.row]
if object.name == "name" {
// someAction
var addAction = UITableViewRowAction(style: .Default, title: "+") { (action: UITableViewRowAction!, indexPath: NSIndexPath!) -> Void in
}
return [addAction]
}
return nil
}
С помощью приведенного ниже кода мне удалось включить или отключить действия. Но только с кнопкой Delete
.
override func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle {
let object = items[indexPath.row]
if object.name == "joyce" {
return UITableViewCellEditingStyle.Delete
} else {
return UITableViewCellEditingStyle.None
}
}
Я забыл добавить, что я могу управлять, чтобы делать то, что я хочу, но только с получением по умолчанию удалить действие с кодом 'переопределения Func Tableview (Tableview: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle { LET объект = пункты [indexPath.row] если object.name == "имя" { возвращение UITableViewCellEditingStyle.Delete } еще { возвращение UITableViewCellEditingStyle.None } } 'можно ли использовать что-то похожее на это? –
Если вы отключите редактирование строк, которые не соответствуют вашему состоянию, какая разница между тем и тем, что вы хотите? –
Извините, у меня было условие двойное. Получилось замешательство, пытаясь разобраться в течение нескольких часов и смешать некоторые вещи: с, спасибо в любом случае! –