解决使用editActionsForRowAtIndexPath添加删除按钮,6Plus不响应的办法

在真机测试时,碰上一个问题,在删除cell时,模拟器上删除按钮可以出来,但是到真机上面就不行,不响应,找到一个麻烦的解决办法,就是把删除cell的两个方法全部写上(上一个博客有一个删除cell的方法,是iOS8以后新增的)上代码:

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath

{

    return YES;

}


- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

{

    return UITableViewCellEditingStyleDelete;// 删除cell

}


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

{

    

    

    if (editingStyle == UITableViewCellEditingStyleDelete) {

        

        [dataArray removeObjectAtIndex:indexPath.row];

        [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationNone];

    }

}

-(NSArray<UITableViewRowAction*>*)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath

{


    UITableViewRowAction *rowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {


            

    }];


//    rowActionSec.backgroundColor = [UIColor colorWithHexString:@"f38202"];

    rowAction.backgroundColor = [UIColor purpleColor];


    UITableViewRowAction *rowaction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"置顶" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {

        

    }];

    rowaction.backgroundColor = [UIColor grayColor];

    NSArray *arr = @[rowAction,rowaction];

    return arr;

}


你可能感兴趣的:(iOS,开发)