到目前为止,我已经使用图标重新排序行定制了我的UITableViewCell。
我希望我的单元格可以在长按重新排序图标然后移动它时重新排序。 下图是我的预期。
我已经阅读了很多文件,他们只提供长按单元格并移动它但我不想要它,因为长按单元格我有另一个手势是重命名它;而且我也不想在OS中使用UITableView默认的编辑/完成;所以我决定放置重新排序图标,但我做不到,因为我是目标c的新手。
有人可以在这里提供示例代码吗?
感谢阅读。
答案 0 :(得分:1)
覆盖UITableViewDataSource的两个方法
要重新排序,您首先需要将表格置于编辑模式。您可以从viewDidLoad或IBAction方法执行此操作。
-(void) viewDidLoad{
[super viewDidLoad];
self.myTableView.editing = YES;
}
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath{
return YES;
}
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath{
//Manipulate your data array.
}
默认编辑样式为UITableViewCellEditingStyleDelete。因此,如果您不覆盖以下方法,它将同时显示重新排列以及删除图标。
-(UITableViewCellEditingStyle) tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewCellEditingStyleNone;
}
因为,你的细胞长手势导致细胞重新排序的长姿势问题。您可以向单元格添加UIView。在此UIView中添加所有元素。现在,将UILongPress手势附加到此UIView(而不是单元格。)。