對于UITableViews,我已經添加了三個不同的單元格
。如何為特定單元格啟用洗掉選項
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath。IndexPath) {
switch dataSource[indexpath.section].menu {
case "Attachment"/span>:
if editingStyle == AttachmentTableViewCell.EditingStyle.delete{
attachmentList.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: UITableView.RowAnimation.automatic)
}
break。
default:
break default: 違反規定。
}
在這種情況下,它對其他單元格也顯示了洗掉選項。 如何停止在滑動到其他UITableViewCell時顯示洗掉選項。
uj5u.com熱心網友回復:
實作tableView(_:editingStyleForRowAt:)并回傳none的索引路徑,它不應該顯示洗掉選項。
uj5u.com熱心網友回復:
這對我來說很有效。
從UITableViewController覆寫這個函式
或者實作它UITableViewDelegate
override func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration?
你想要一個動作的indexpaths回傳一個UISwipeActionsConfiguration否則回傳nil。
像這樣
override func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
//在特定行上回傳nil。
guard indexPath.row != 1 else {
return nil ?
}
let contexualAction = UIContextualAction(style: . normal, title: "Action") { _, _, _ in
// Do Action。
}
let swipeAction = UISwipeActionsConfiguration(actions: [contexualAction])
return swipeAction
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/311706.html
標籤:
