0

我想更改表格视图中的单元格顺序

我正在使用以下代码

-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath  
{    
    [tableView moveRowAtIndexPath:path1 toIndexPath:path2];
}

这里path1是用户现在选择的行的索引路径,我想找到用户删除该单元格的行的索引路径,那么我怎样才能找到 toIndexPath(path2)。

4

2 回答 2

3

我认为您对该方法的用途感到困惑 - 这是 UITableViewDataSource 的回调函数,旨在通知数据模型表中的更改。从文档:

告诉数据源将表视图中特定位置的行移动到另一个位置。

当用户按下 fromRow 中的重新排序控件时,UITableView 对象会将此消息发送到数据源。

这意味着您需要在这里做的是确保您的模型(通常是一个数组)重新排列以与这些更改正确同步。

希望这能给你一个好的方向。

于 2013-01-29T13:55:07.297 回答
1

你应该实现:

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}

& 还:

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
 //do whatever you want after the row has been moved
}

下面是一个拖放 N 的例子:

https://github.com/coderDove/UITableView-Drag-n-Drop

希望这可以帮助!!!

于 2013-01-29T13:57:44.950 回答