UITableView重排了1行的部分

时间:2016-05-15 22:26:59

标签: ios swift uitableview

我有一个包含3个部分的TableView,每个部分包含1行。启用编辑模式后,我希望用户能够在不更改每个部分中的行数(始终为1)的情况下重新排列部分。

开始

UITableView with 3 sections each containing 1 row

拖动

UITableview dragging row 1

结束 - 我想避免的事情

UITableView with 3 sections each containing 1 row

我找到了一个有效的解决方案,但没有动画。如果我更新数据模型并在moveRowAtIndexPath中重新加载tableView,那么tableView看起来应该是这样的......用实际reloadData()tableView begin <替换endUpdates会很好/ p>

func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath) {
    let movedProperty = list[sourceIndexPath.section]
    list.removeAtIndex(sourceIndexPath.section)
    list.insert(movedProperty, atIndex: destinationIndexPath.section)
    tableView.reloadData()
}

func tableView(tableView: UITableView, targetIndexPathForMoveFromRowAtIndexPath sourceIndexPath: NSIndexPath, toProposedIndexPath proposedDestinationIndexPath: NSIndexPath) -> NSIndexPath {
    return proposedDestinationIndexPath
}

0 个答案:

没有答案