iOS tableView 如何禁止滑动手势删除,只允许在编辑模式下进行删除Cell
2013-11-11 21:12
896 查看
如何禁止滑动手势删除,只允许在编辑模式下进行删除Cell
s设置导航栏上的编辑按钮
实现TableView 的代理方法
这是在今天的项目中遇到的一个细小的问题,但还是费了我不少时间,写下来希望能帮助其他人,同时,使得自己印象更深刻!
s设置导航栏上的编辑按钮
- (IBAction)navigationEditButtonClick:(UIButton *)sender { if (sender.selected == NO) { sender.selected = YES; [sender setTitle:@"完成" forState:UIControlStateNormal]; for (int i = 0; i < [_dataArray count];i++) { UIButton *button = (UIButton *)[self.view viewWithTag:1000 + i]; button.hidden = YES; UIView *view = (UIView *)[self.view viewWithTag:2000 + i]; view.hidden = YES; } _tableView.editing = YES; }else{ sender.selected = NO; [sender setTitle:@"编辑" forState:UIControlStateNormal]; for (int i = 0; i < [_dataArray count];i++) { UIButton *button = (UIButton *)[self.view viewWithTag:1000 + i]; button.hidden = NO; UIView *view = (UIView *)[self.view viewWithTag:2000 + i]; view.hidden = NO; } _tableView.editing = NO; } }
实现TableView 的代理方法
#pragma mark - UITableViewDelegate //指定行是否可编辑 -(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { return YES; } //设置tableview是否可编辑 - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { //这里是关键:这样写才能实现既能禁止滑动删除Cell,又允许在编辑状态下进行删除 if (!tableView.editing) return UITableViewCellEditingStyleNone; else { return UITableViewCellEditingStyleDelete; } } //确定删除某一组的某一行 -(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { NSUInteger row = [indexPath row]; if (editingStyle == UITableViewCellEditingStyleDelete) { [self.list removeObjectAtIndex:row]; //使用某种动画效果来删除特定的Cell [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; } //删除按钮出现的动画效果 /* UITableViewRowAnimationAutomatic //自动匹配 UITableViewRowAnimationTop UITableViewRowAnimationBottom UITableViewRowAnimationLeft UITableViewRowAnimationRight UITableViewRowAnimationMiddle UITableViewRowAnimationFade UITableViewRowAnimationNone */ }
这是在今天的项目中遇到的一个细小的问题,但还是费了我不少时间,写下来希望能帮助其他人,同时,使得自己印象更深刻!
相关文章推荐
- IOS 读写plist文件
- 点的查找
- iOS 点击cell改变背景颜色或者图片&&cell中其他部分取消高亮显示
- IOS 设备备份文件详解 (二)
- IOS 设备备份文件详解 (一)
- IOS 之 本地化语言
- iOS里的MVC
- iOS 如何选择delegate、notification、KVO
- CCLayer initWithColor的问题
- ios应用iap相关
- IOS开发小功能2:二维码扫描界面的设计(横线上下移动)
- IOS 之 相机照片使用
- IOS6屏幕旋转详解(自动旋转、手动旋转、兼容IOS6之前系统)
- iOS持久化存储之属性列表
- 版本控制
- iOS 滤镜 和 iOS6 中的Core Image技术
- iOS NSDate
- 适配iOS7
- 189服务器BIOS图片
- 苹果开发者账号注册流程