假设在表视图单元格中有10行,如果滑动任何一行,则在编辑操作字段上按下后变为可编辑,并且应禁用剩余的行滑动。
func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]?
{
/*to perform edit action on row*/
let edit = UITableViewRowAction(style: UITableViewRowActionStyle.Normal, title: "Edit"){(UITableViewRowAction,NSIndexPath) -> Void in
let cell:SuppliersCutomTableViewCell = tableView.cellForRowAtIndexPath(indexPath) as! SuppliersCutomTableViewCell
print("indexPath",indexPath)
/*making Field Editable method*/
cell.textFieldedit()
}
edit.backgroundColor = UIColor(red: 0.298, green: 0.851, blue: 0.3922, alpha: 1.0);
return [edit]
}
答案 0 :(得分:3)
您可以使用canEditRowAtIndexPath
UITableViewDataSource
方法,首先在Bool
实例上声明并在UITableViewDataSource
方法中使用此方法。
var allowEdit: Bool = true
func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return allowEdit
}
func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]?
{
/*to perform edit action on row*/
let edit = UITableViewRowAction(style: UITableViewRowActionStyle.Normal, title: "Edit"){(UITableViewRowAction,NSIndexPath) -> Void in
let cell:SuppliersCutomTableViewCell = tableView.cellForRowAtIndexPath(indexPath) as! SuppliersCutomTableViewCell
print("indexPath",indexPath)
/*making Field Editable method*/
cell.textFieldedit()
self.allowEdit = false
}
edit.backgroundColor = UIColor(red: 0.298, green: 0.851, blue: 0.3922, alpha: 1.0);
return [edit]
}
注意:当您为该单元格进行编辑时,请不要忘记将self.allowEdit
设置为true
。
答案 1 :(得分:1)
使用tableView:canEditRowAtIndexPath:
的{{1}}方法,并根据要求返回Bool。
UITableView