我有一个UITableViewController显示动态表数据,最后有一行(使用单独的单元格原型),其中包含一个“添加”按钮。
我希望用户能够重新排序表格行,但是阻止他们在最后一行之后将行移动到点。
我已实施:
override func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return indexPath.row != elements.count
}
阻止用户移动“添加”表格行
我正在测试
if(toIndexPath.row < library.regularTasks.count)
里面
override func tableView(tableView: UITableView, moveRowAtIndexPath fromIndexPath: NSIndexPath, toIndexPath: NSIndexPath)
可防止在模型中交换行。
但是,我看不到一种方法来阻止行被拖动到UI中的最后一行
答案 0 :(得分:2)
发现它!
我用过:
override func tableView(tableView: UITableView, targetIndexPathForMoveFromRowAtIndexPath sourceIndexPath: NSIndexPath, toProposedIndexPath proposedDestinationIndexPath: NSIndexPath) -> NSIndexPath {
// Test whether destination is allowed
if(proposedDestinationIndexPath.row < elements.count){
return proposedDestinationIndexPath // if allowed move to proposed destination
}else{
return sourceIndexPath // if not, send back to where it came from!
}
}