ios tableView那些事 (九) tableview的删除
2016-01-25 16:23
471 查看
http://blog.csdn.net/lengshengren/article/details/10742993
这孩纸好多tableview的用法总结,挺不错的。
tableview 的删除一定是很常用的在应用里! 在应用里大多会用到3中删除方式!
第一种滑动方式,在cell 的最右边向右滑动cell ,默认的删除是汉字,我们先改下语言吧!怎么也的改成国语!
这是常用的方式!也是必须用到的方式
上一章我们设置了不出现红色按钮
下面设置可以出现删除按钮 或者直接不写这个方法
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete;
}
/*改变删除按钮的title*/
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return @"删除";
}
/*删除用到的函数*/
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
[self.arrayValue removeObjectAtIndex:[indexPath row]]; //删除数组里的数据
[tableview deleteRowsAtIndexPaths:[NSMutableArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
//删除对应数据的cell
}
}
第二中是在导航栏上加个删除按键!为了有的用户不知道删除手势!这样也更加明了
就像上一章插入的方式一样! 只要让tableview可以编辑就会出现删除按钮
UIBarButtonItem *deleteButton = [[UIBarButtonItem alloc]initWithTitle:@"管理" style:UIBarButtonItemStyleBordered target:selfaction:@selector(deleteAction)];
-(void)deleteAction
{
[self.tableview setEditing:!self.tableview.editing animated:YES];
if (self.tableview.editing)
{
[self.navigationItem.leftBarButtonItem setTitle:@"删除"];
}
else
{
[self.navigationItem.leftBarButtonItem setTitle:@"管理"];
}
}
效果如下
第三种是在一个前辈博客rainbird.blog 中学到的一种批量删除方法!
deleteDic = [[NSMutableDictionary alloc]init];
UIBarButtonItem *delBtn = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:selfaction:@selector(delbtnClick)];
UIBarButtonItem *editBtn = [[UIBarButtonItem alloc]initWithTitle:@"编辑" style:UIBarButtonItemStyleBordered target:selfaction:@selector(editbtnClick)];
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert;
}
//删除按钮
-(void)delbtnClick
{
[array removeObjectsInArray:[deleteDic allKeys]];
[array writeToFile:Path atomically:YES];
[self.mytableView deleteRowsAtIndexPaths:[NSArray arrayWithArray:[deleteDic allValues]] withRowAnimation:UITableViewRowAnimationFade];
[deleteDic removeAllObjects];
[array release];
}
//编辑按钮
-(void)editbtnClick
{
if ([self.navigationItem.rightBarButtonItem.title isEqual: @"编辑"])
{
self.navigationItem.rightBarButtonItem.title = @"确定";
[self.mytableView setEditing:YES animated:YES];
}
else
{
self.navigationItem.rightBarButtonItem.title = @"编辑";
[deleteDic removeAllObjects];
[self.mytableView setEditing:NO animated:YES];
}
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([self.navigationItem.rightBarButtonItem.title isEqual: @"确定"])
{
[deleteDic setObject:indexPath forKey:[array objectAtIndex:indexPath.row]];
}
这孩纸好多tableview的用法总结,挺不错的。
tableview 的删除一定是很常用的在应用里! 在应用里大多会用到3中删除方式!
第一种滑动方式,在cell 的最右边向右滑动cell ,默认的删除是汉字,我们先改下语言吧!怎么也的改成国语!
这是常用的方式!也是必须用到的方式
上一章我们设置了不出现红色按钮
下面设置可以出现删除按钮 或者直接不写这个方法
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete;
}
/*改变删除按钮的title*/
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return @"删除";
}
/*删除用到的函数*/
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
[self.arrayValue removeObjectAtIndex:[indexPath row]]; //删除数组里的数据
[tableview deleteRowsAtIndexPaths:[NSMutableArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
//删除对应数据的cell
}
}
第二中是在导航栏上加个删除按键!为了有的用户不知道删除手势!这样也更加明了
就像上一章插入的方式一样! 只要让tableview可以编辑就会出现删除按钮
UIBarButtonItem *deleteButton = [[UIBarButtonItem alloc]initWithTitle:@"管理" style:UIBarButtonItemStyleBordered target:selfaction:@selector(deleteAction)];
-(void)deleteAction
{
[self.tableview setEditing:!self.tableview.editing animated:YES];
if (self.tableview.editing)
{
[self.navigationItem.leftBarButtonItem setTitle:@"删除"];
}
else
{
[self.navigationItem.leftBarButtonItem setTitle:@"管理"];
}
}
效果如下
第三种是在一个前辈博客rainbird.blog 中学到的一种批量删除方法!
deleteDic = [[NSMutableDictionary alloc]init];
UIBarButtonItem *delBtn = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:selfaction:@selector(delbtnClick)];
UIBarButtonItem *editBtn = [[UIBarButtonItem alloc]initWithTitle:@"编辑" style:UIBarButtonItemStyleBordered target:selfaction:@selector(editbtnClick)];
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert;
}
//删除按钮
-(void)delbtnClick
{
[array removeObjectsInArray:[deleteDic allKeys]];
[array writeToFile:Path atomically:YES];
[self.mytableView deleteRowsAtIndexPaths:[NSArray arrayWithArray:[deleteDic allValues]] withRowAnimation:UITableViewRowAnimationFade];
[deleteDic removeAllObjects];
[array release];
}
//编辑按钮
-(void)editbtnClick
{
if ([self.navigationItem.rightBarButtonItem.title isEqual: @"编辑"])
{
self.navigationItem.rightBarButtonItem.title = @"确定";
[self.mytableView setEditing:YES animated:YES];
}
else
{
self.navigationItem.rightBarButtonItem.title = @"编辑";
[deleteDic removeAllObjects];
[self.mytableView setEditing:NO animated:YES];
}
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([self.navigationItem.rightBarButtonItem.title isEqual: @"确定"])
{
[deleteDic setObject:indexPath forKey:[array objectAtIndex:indexPath.row]];
}
相关文章推荐
- iOS之横竖屏小结
- iOS-小的知识点
- IOS 开发,调用打电话,发短信,打开网址
- iOS导航栏的translucent属性
- IOS-48-解决开发中自定义控件在不同型号手机上不能显示的问题 (区别在于iOS修改了weak、strong属性)
- iOS 使用View 为屏幕增加一个全屏的蒙层
- ios 设置屏幕方向的两种方法
- iOS更新学习
- iOS 自定义TabBarController
- ios使用3dD Touch Screen Short Cut
- 在iOS开发中使用FMDB
- iOS ViewController里代码结构的规定
- iOS:Xcode7下创建 .a静态库 和 .framework静态库
- 【同行说技术】iOS从小白到大神必读资料汇总(四)
- iOS--利用比例纯代码适配屏幕大小
- IOS7 点击空白处隐藏键盘的几种方法
- 苹果开发者账号那些事儿(三)
- iOS 通知notification
- 在iOS7之后修改状态栏字体的颜色
- 浅析iOS开发者应用程序开发工具套件-iOS SDK