当表处于编辑模式时,我正在创建不同的操作。 当用户在单元格上向左滑动以打开选项时,如果单元格的状态处于活动状态,它将显示“禁用”按钮,而是显示“启用”按钮。
一切都很好。
问题是我想在用户点击启用或禁用按钮时关闭单元格。
现在关闭单元格的唯一方法是单击单元格本身,而不是当用户单击“启用”或“禁用”按钮时我也想触发此操作,因为我没有完全删除该行而只是在内部更改选项
我试图以这种方式实现这一目标:
tableView.reloadRowsAtIndexPaths([indexPath.row], withRowAnimation: UITableViewRowAnimation.None)
但由于某些原因,这段代码正在崩溃我的应用程序。
任何帮助?
由于
override func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? {
let builderModuleStatus = builderModules[indexPath.row].status
let disableAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Disable", handler:{(action, indexpath) -> Void in
self.builderModules[indexPath.row].status = "disabled"
tableView.reloadRowsAtIndexPaths([indexPath.row], withRowAnimation: UITableViewRowAnimation.None)
});
let enableAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Enable", handler:{ (action, indexpath) -> Void in
self.builderModules[indexPath.row].status = "active"
});
enableAction.backgroundColor = UIColor(red: 0.298, green: 0.851, blue: 0.3922, alpha: 1.0);
if(builderModuleStatus == "active"){
return [disableAction]
}else{
return [enableAction]
}
}
答案 0 :(得分:5)
要做到这一点,只需在动作处理程序上添加以下行:
tabelView.setEditing(false, animated: true)