gpt4 book ai didi

ios - UITableView 禁用某些行的 rowEditActionForRowAtIndexPath

转载 作者:行者123 更新时间:2023-11-29 01:39:23 24 4
gpt4 key购买 nike

我想为某些行实现“滑动编辑”功能。如果满足所有条件,则应启用滑动功能。如果不是,该行应保持静态而不分配任何操作 rowEditAction。

我的代码看起来像这样:

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? {
var noAction = UITableViewRowAction()

var logoutAction = UITableViewRowAction(style: .Default, title: "Log Out ") { (action: UITableViewRowAction!, indexPath: NSIndexPath!) -> Void in
if(indexPath.row == 0){
//do stuff when button pressed
self.tableView.reloadData()
}
else if(indexPath.row == 1){
//do stuff when button pressed
self.tableView.reloadData()
}
}
}

if(indexPath.row == 0 && conditionsFulfilled()){
return [logoutAction]
} else if(indexPath.row == 1 && conditionsFulfilled()){
return [logoutAction]
}
return [noAction]
}

此代码不会禁用编辑功能,它只是为不应查看 logoutAction 的行显示一个空的 UITableViewRowAction。我该如何正确完成这项工作?

最佳答案

UITableViewDataSource 有一个名为 canEditRowAtIndexPath 的方法根据Apple :

The method permits the data source to exclude individual rows from being treated as editable. Editable rows display the insertion or deletion control in their cells. If this method is not implemented, all rows are assumed to be editable...

所以你可以做这样的事情,例如:

func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {

// in this case I only allow edit from the third cell hereinafter.
return indexPath.row > 3 ? true : false
}

希望这对您有帮助。

关于ios - UITableView 禁用某些行的 rowEditActionForRowAtIndexPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32587343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com