我是否可以重新定义UITableView,同时仍允许删除行?

时间:2010-04-09 10:27:50

标签: iphone uitableview

来自文档:

  

重新排序控件暂时替换任何附件视图。

所以当我在数据源中实现tableView:moveRowAtIndexPath:toIndexPath:时,我会自动获得那些重新排序的控件,对吧?但是当他们替换配件视图(可能是删除控件,右)时,用户只能重新排序。那么......我能同时做到吗?

2 个答案:

答案 0 :(得分:1)

附件控件是单元格右侧的显示按钮。删除控件位于单元格的左侧。删除控制和重新排序控制可以共存。

答案 1 :(得分:1)

IIRC,你可以做到这两点。我认为删除按钮(从左侧滑动)覆盖在行上,而不是附件视图。

实施:

- (UITableViewCellEditingStyle) tableView:(UITableView *) iTableView editingStyleForRowAtIndexPath:(NSIndexPath *) iIndexPath {
    return UITableViewCellEditingStyleDelete;
}

- (void) tableView:(UITableView *) iTableView commitEditingStyle:(UITableViewCellEditingStyle) iEditingStyle forRowAtIndexPath:(NSIndexPath *) iIndexPath {
    if ( iEditingStyle == UITableViewCellEditingStyleDelete ) {
        //delete row & data
    }
}

这将让您滑动删除。对于重新排序控件,我不确定它是否足以实现tableView:moveRowAtIndexPath:toIndexPath :,您可能还需要将tableview的编辑属性设置为YES。

对不起,我不是更具体,因为我做了大量的tableview调整已经有一段时间了。测试一些东西,看看哪些有用。 :)