来自UITableViewCell showsReorderControl docs:
For the reordering control to appear, you must not only set this property but implement the UITableViewDataSource method tableView:moveRowAtIndexPath:toIndexPath:. In addition, if the data source implements tableView:canMoveRowAtIndexPath: to return NO, the reordering control does not appear in that designated row.
我的tableviewController中有两者:
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
NSLog(@"move from:%d to:%d", fromIndexPath.row, toIndexPath.row);
//just for test
}
我的单元格属性包括重新排序控件:
然而我看不到重新订购控制,我错过了什么?
答案 0 :(得分:2)
您是否已通过
将UITableView置于编辑模式[tableView setEditing:YES animated:YES];
顺便说一下,你发布的第一种方法是不必要的,因为这是默认行为。
答案 1 :(得分:2)
我认为您需要实际进入该表的编辑模式。当您的视图出现时,可以在代码中尝试它,也可以创建一个可以执行此操作的按钮。
[tableView setEditing:YES animated:YES];