我目前正在开发一个UITableViewController演示,它的工作方式与我希望它的工作方式一致。
当我在一行向左滑动时,我唯一没有得到的是删除删除按钮。
按钮的“空格”以及删除功能都在那里,但红色矩形按钮和文本“删除”都没有出现。
这发生在模拟器和设备上。
当然,我已经实现了“edititingStyleForRowAtIndexPath”
override func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle {
switch indexPath.section{
case SectionConstants.MODEL_DATA_SECTION: return UITableViewCellEditingStyle.Delete
case SectionConstants.NEW_DATA_SECTION: return UITableViewCellEditingStyle.Insert
default: return UITableViewCellEditingStyle.None
}
}
和'commitEditingStyle'与此无关,因为它是在触摸删除按钮后触发的。
是否有人知道可能导致此行为的原因或遇到类似问题?
祝你好运, 斯特芬
[编辑] 实际上,我忘记添加screenshot:)
答案 0 :(得分:0)
试试这个
override func tableView(tableView: UITableView, commitEditingStyle editingStyle:
UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == .Delete {
// Delete the row from the data source
self.tableView.reloadData()
}
}
答案 1 :(得分:0)
在研究了@maddy提到的更多方向之后,我发现了这个问题。
由于我想添加/删除列表中的最后一行以“正常”模式输入新数据,但不是“编辑”模式,我将覆盖 func setEditing 并调用< em> tableView.reloadData()那里。
override func setEditing(editing: Bool, animated: Bool) {
super.setEditing(editing, animated: animated)
tableView.reloadData() // Recall numberOfRowsInSection to show/hide the "new cell"
}
所以我现在必须找出,如何手动触发行号的计算,就是这样。