ios tableView那些事 (九) 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:[indexPathrow]]; //删除数组里的数据
[tableview deleteRowsAtIndexPaths:[NSMutableArrayarrayWithObject:indexPath]withRowAnimation:UITableViewRowAnimationAutomatic]; //删除对应数据的cell
}
}
第二中是在导航栏上加个删除按键!为了有的用户不知道删除手势!这样也更加明了
就像上一章插入的方式一样! 只要让tableview可以编辑就会出现删除按钮
UIBarButtonItem *deleteButton = [[UIBarButtonItemalloc]initWithTitle:@"管理"style:UIBarButtonItemStyleBorderedtarget:selfaction:@selector(deleteAction)];
[self.navigationItem.rightBarButtonItemsetTitleTextAttributes:[NSDictionarydictionaryWithObjectsAndKeys:[UIFontboldSystemFontOfSize:14],NSFontAttributeName, [UIColorredColor],NSForegroundColorAttributeName,nil]forState:UIControlStateNormal];
-(void)deleteAction
{
[self.tableviewsetEditing:!self.tableview.editinganimated:YES];
if (self.tableview.editing)
{
[self.navigationItem.leftBarButtonItemsetTitle:@"删除"];
}
else
{
[self.navigationItem.leftBarButtonItemsetTitle:@"管理"];
}
}
效果如下
第三种是在一个前辈博客rainbird.blog 中学到的一种批量删除方法!
deleteDic = [[NSMutableDictionaryalloc]init];
UIBarButtonItem *delBtn = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemTrashtarget:selfaction:@selector(delbtnClick)];
UIBarButtonItem *editBtn = [[UIBarButtonItemalloc]initWithTitle:@"编辑"style:UIBarButtonItemStyleBorderedtarget:selfaction:@selector(editbtnClick)];
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
returnUITableViewCellEditingStyleDelete |UITableViewCellEditingStyleInsert;
}
//删除按钮
-(void)delbtnClick
{
[arrayremoveObjectsInArray:[deleteDicallKeys]];
[arraywriteToFile:Pathatomically:YES];
[self.mytableViewdeleteRowsAtIndexPaths:[NSArrayarrayWithArray:[deleteDicallValues]]withRowAnimation:UITableViewRowAnimationFade];
[deleteDicremoveAllObjects];
[array release];
}
//编辑按钮
-(void)editbtnClick
{
if ([self.navigationItem.rightBarButtonItem.titleisEqual:@"编辑"])
{
self.navigationItem.rightBarButtonItem.title =@"确定";
[self.mytableViewsetEditing:YESanimated:YES];
}
else
{
self.navigationItem.rightBarButtonItem.title =@"编辑";
[deleteDicremoveAllObjects];
[self.mytableViewsetEditing:NOanimated:YES];
}
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([self.navigationItem.rightBarButtonItem.titleisEqual:@"确定"])
{
[deleteDicsetObject:indexPathforKey:[arrayobjectAtIndex:indexPath.row]];
}
ios tableView那些事 (九) tableview的删除相关推荐
- IOS开发笔记(九)——IM聊天工具个人详情页面,自定义tableview的accessaryView
中山大学数据科学与计算机学院本科生实验报告 (2019年春季学期) 课程名称 IOS开发 任课老师 郑贵锋 年级 16 专业(方向) 软件工程(计算机应用方向) 学号 16340132 姓名 梁颖霖 ...
- 《iOS 高级编程》之Tableview进阶指南
学习如何进阶使用UITableView,带给应用更高级的观感(look and feel) ● 学习如何开发自己定制的UITableView类,模仿iMessage应用的观感 ● 为一个基 ...
- IOS 非常流畅的滑动tableView
为什么要写这篇文章呢?之前写过一篇,因为手机打字不是很方便,还有之前同事用6splus 定下午茶时候,我滑动列表时候竟然误以为是安卓系统的手机. tableview 流畅度可以用fps来测试,到60帧 ...
- iOS开发那些事-表视图UI设计模式
软件设计中有设计模式,在UI设计方面也有设计模式.由于表视图的应用在iOS中极其广泛,本节向大家介绍表视图中两个UI设计模式:分页模式和下拉刷新(Pull-to-Refresh)模式.这两种模式已经成 ...
- iOS动画系列之九:实现点赞的动画及播放起伏指示器
iOS动画系列,共十篇.现在写到第九篇啦.感兴趣的可以通过下面的传输门进到其他几篇文章里面. 第一篇:iOS动画系列之一:通过实战学习CALayer和透视的原理.做一个带时分秒指针的时钟动画(上) 第 ...
- iOS 逆向编程(九 - 1)通过 USB 连接登录 iPhone 以及端口映射
一.简介 之前操作都是通过 客户端(MAC)与 服务端(iPhone) 处于同一个 Wifi 下通过 SSH 进行连接. 这种方式有个问题,就是网速不是很好的时候,输入一个命令会等一会才会显示,因为你 ...
- 思科路由器IOS系统和配置文件的备份、删除及还原
思科路由器IOS系统和配置文件的备份.删除及还原 续上篇讲的思科路由器的密码重置,本篇讲一下思科路由器iOS系统的备份.删除 还原.在生产情况下,很少有iOS文件的丢失的,大多是人为的删除,可能是为了 ...
- ((ios开发学习笔记九)) Simple TableView 实现(附 实例源码)
实现效果: 实现过程: Step One 创建单个窗体项目 Step Two 创建control 接口 Step Three 创建窗体和关联关系 Step four 实现table view 的接口 ...
- IOS学习笔记 -- scrollView和tableView整理
scrollView: 1. 介绍scrollView一些属性 1>.要想使用scrollView必须做两件事 1).设置scrollView内容 2).设置contentSize (滚动范围) ...
最新文章
- 神经网络(Neural Network)
- 生产管理车间提高劳动利用率
- nginx运行php如何,ThinkPHP项目在Nginx上运行的配置问题
- cmakelist .so_卡罗拉汽车音响改装SO匠心三分频,黄金声学
- Java笔记:与系统交互、系统相关的类,Object类
- 【位运算DFS/DLX】【HDU1426】【数独】
- 基于I2C协议的EEPROM驱动控制
- 【译】XNA Shader 程序设计(二)
- perl--CGI编程之Apache服务器安装配置
- 2020秋招华为笔试题-买钉子
- 每天一练:html简单文字排版
- 用python找千字文的重复字
- win10右键卡顿原因_如何解决Win10桌面右键一直卡顿转圈的问题?
- android相册在哪个文件夹里,手机相册在哪个文件夹?
- linux gtk主题安装教程,如何获取、安装和制作 GTK 主题
- iOS系统录屏如何增加雷达波纹效果(从一个点向周围扩散)的简单实现
- Web 前端开发技术 —— JavaScript
- 【前端】Ajax-form表单与模板引擎
- java微信token验证_JAVA折腾微信公众平台(Token验证)[转]
- 《编程之美——微软技术面试心得》一摞烙饼的排序初体验