您的位置:首页 > 产品设计 > UI/UE

UITableViewCell侧滑删除之侧滑手势不灵敏

2017-11-09 14:59 141 查看
下午在修改项目源码的时候,优化了某些功能。

其中,在实现UITableViewCell的侧滑删除功能时,遇到一个坑,特地记录一下。

首先,实现UITableView侧滑删除功能,需要我们的代码实现几个代理方法。

//- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
//    return YES;
//}

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {
return [cLanguage getString:@"SET103"];
}

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

//- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath {
//    UITableViewRowAction *deleteRoWAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:[cLanguage getString:@"SET103"] handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
//        // 删除操作
//        if ([clsOtherFun CheckNetworkStatus:NO]) {
//
//            clsUserDelivery *userDelivery = [[clsUserDelivery getUserDeliverys] objectAtIndex:indexPath.row];
//
//            _deleteUser = userDelivery;
//
//            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"" message:[cLanguage getString:@"MSG008"] delegate:self cancelButtonTitle:[cLanguage getString:@"SET070"] otherButtonTitles:[cLanguage getString:@"SET058"], nil];
//            [alertView show];
//        }
//        else{
//            UIAlertView* alert = [[UIAlertView alloc]initWithTitle:@"" message:[cLanguage getString:@"MSG015"] delegate:nil cancelButtonTitle:[cLanguage getString:@"SET058"] otherButtonTitles:nil, nil];
//            [alert show];
//        }
//    }];
//    return @[deleteRoWAction];
//}

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
[_tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];
if ([clsOtherFun CheckNetworkStatus:NO]) {
clsUserDelivery *userDelivery = [[clsUserDelivery getUserDeliverys] objectAtIndex:indexPath.row];
_deleteUser = userDelivery;

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"" message:[cLanguage getString:@"MSG008"] delegate:self cancelButtonTitle:[cLanguage getString:@"SET070"] otherButtonTitles:[cLanguage getString:@"SET058"], nil];
[alertView show];
}
else{
UIAlertView* alert = [[UIAlertView alloc]initWithTitle:@"" message:[cLanguage getString:@"MSG015"] delegate:nil cancelButtonTitle:[cLanguage getString:@"SET058"] otherButtonTitles:nil, nil];
[alert show];
}
}
}


_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0.0f, TopBarHeight, ScreenWidth, ScreenHeight-TopBarHeight-TabBarHeight) style:UITableViewStylePlain];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息