我可以像在行中一样拖动表格视图中的节吗?

| 我用
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath 
  toIndexPath:(NSIndexPath *)destinationIndexPath{
 }
在节内和节之间拖放行的方法。我也可以对部分进行拖动吗?     
已邀请:
将级别退回到表格视图在概念上(以及技术上)可能更简单,在该视图中,每一行都对应于您要重新排序的表格部分。也许您可以使用“重新排列节”按钮来调用它,显示剖面表视图,重新排列,然后将该重新排列强加到明细表视图上。  我认为,如果您尝试在单个表中全部完成操作,将会使自己和用户感到沮丧。我的2美分。 -麦克风     
我知道这是一个老问题,但是我自己实施了一个可以自己做的事情,因此我想分享答案,以防其他人偶然发现。 我的基本方法是在每个部分的顶部添加代表该部分的行。我还在每个部分的末尾添加了带有“ 1”编辑样式的“添加新部分”行,以允许直接在视图中创建新部分。因此,对于每个部分,行都是这样的: 第0行=部分行(通过设置 背景颜色) 第1到x列=普通数据行 第x + 1行= \“添加新部分\” (我有几种简单的方法可以在“编辑模式indexPath”和“实际数据indexPath”之间进行转换。) 对于移动的节,在“ 2”方法“ 3”中检查了建议的移动,以确保节行已“足够远”(在另一节行上方或下方)移动。返回的indexPath会被裁剪到最接近的节行的正上方或正下方(取决于向上或向下移动),以向用户提供将其移动到何处的直观指示。 在“ 4”中,在数据源中进行了部分更改,然后将“ 5”消息发送到tableView以显示更改。使用
reloadData
代替
moveSection:toSection:
,因为对于
moveSection:toSection:
,由于行移动,数据源和显示将不同步,并会导致异常。     

要回复问题请先登录注册