2016-01-10 33 views
0

我有一个UITableView,其中每个单元格都有一个开关。当开关打开时,我希望单元格移动到tableView的底部。使用moveRowAtIndexPath在UITableView上移动单元格

let indexPath = NSIndexPath(forRow: sender.tag, inSection: 0) 
let finalIndexPath = NSIndexPath(forRow: tasks.count - 1, inSection: 0) 

let task = tasks[indexPath.row] 
tasks.removeAtIndex(indexPath.row) 
tasks.append(task) 
self.taskTableView.moveRowAtIndexPath(indexPath, toIndexPath: finalIndexPath) 

当使用所述第一开关选择不正是因为我想上述代码中,虽然在这之后按下一个单元中的开关将导致该细胞下面它移动至底部。任何提示,想法或帮助非常感谢。

回答

0

它与您如何设置.tag属性有关。如果你使用它来获得索引,那么每当你做出改变和移动时都需要更新这些索引。

+0

你明白了!非常感谢。如果有人想知道,我使用for循环遍历所有单元格,并在运行移动单元格块后更新它们的标签。 – exotue

+0

很高兴为您服务! – bolnad

+0

嘿,你知道我怎样才能更新当前不可见的单元格上的开关的.tag属性?谢谢。 – exotue

相关问题