iOS Swift: 删除行后 UITableViewCell 编辑设置为真
iOS Swift: UITableViewCell editing set true after row deletion
删除 UITableView 中的一行后,我创建的下一行将编辑设置为 true。我不确定这是为什么,但这意味着在我删除一行之后,我创建的下一行是 indented on the left side by about 40 points。
删除单元格后是否需要将 table 或单元格设置为 editing = false
?
func removeItems(items: [CKRecord], indexPath: NSIndexPath) {
for item in items {
db.deleteRecordWithID(item.recordID) { (record, error) -> Void in
if error != nil {
println(error.localizedDescription)
}
dispatch_async(dispatch_get_main_queue()) { () -> Void in
if let index = find(exercises, item) {
exercises.removeAtIndex(index)
}
}
}
}
days.removeAtIndex(indexPath.row)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
}
显然删除一行不会禁用对该行的编辑。我在 deleteRowsAtIndexPaths
之前添加了这一行,这似乎可以解决问题:
tableView.cellForRowAtIndexPath(indexPath)?.setEditing(false, animated: false)
我的理解是,当我在单元格上滑动时,我会启用对该单元格的编辑。因为我插入的下一个单元格位于同一索引处,所以它是在启用编辑的情况下绘制的。
删除 UITableView 中的一行后,我创建的下一行将编辑设置为 true。我不确定这是为什么,但这意味着在我删除一行之后,我创建的下一行是 indented on the left side by about 40 points。
删除单元格后是否需要将 table 或单元格设置为 editing = false
?
func removeItems(items: [CKRecord], indexPath: NSIndexPath) {
for item in items {
db.deleteRecordWithID(item.recordID) { (record, error) -> Void in
if error != nil {
println(error.localizedDescription)
}
dispatch_async(dispatch_get_main_queue()) { () -> Void in
if let index = find(exercises, item) {
exercises.removeAtIndex(index)
}
}
}
}
days.removeAtIndex(indexPath.row)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
}
显然删除一行不会禁用对该行的编辑。我在 deleteRowsAtIndexPaths
之前添加了这一行,这似乎可以解决问题:
tableView.cellForRowAtIndexPath(indexPath)?.setEditing(false, animated: false)
我的理解是,当我在单元格上滑动时,我会启用对该单元格的编辑。因为我插入的下一个单元格位于同一索引处,所以它是在启用编辑的情况下绘制的。