出于UIViewController重用的目的,我仅在满足条件的情况下才允许“滑动以删除”手势。有办法实现吗?

如果添加以下UITableViewController Delegate方法:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

已启用“滑动以删除”功能,但在某些情况下我想禁用此手势无法区分

最佳答案

- (UITableViewCellEditingStyle)tableView:(UITableView *)aTableView
        editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
    BOOL someCondition = // figure out whether you want swipe to be available
    return (someCondition) ?
        UITableViewCellEditingStyleDelete : UITableViewCellEditingStyleNone;
}

来自本书本节的结尾:

http://www.apeth.com/iOSBook/ch21.html#_deleting_table_items

10-01 20:49