读书人

UITableView 系列4 :项目中行的操作

发布时间: 2012-08-01 17:53:41 作者: rapoo

UITableView 系列四 :项目中行的操作 (添加移动和删除)(实例)

这篇文章主要讲的表格的操作包括:标记行、移动行、删除行、插入行。

?

这次就不从头建立工程了,在http://dl.iteye.com/topics/download/441cdcca-3191-321b-b68e-03e298de7afd下载工程。这个工程就是最简单的产生一个表格并向其中写入数据。用Xcode 4.2打开它,在这个工程基础上实现以上操作。

?

1、标记行

?

这里讲的标记行指的是单击此行,可以实现在此行右边出现一个勾,如下图所示:

?

UITableView 系列4 :项目中行的操作 (添加移动和删除)(实例)

?

为了实现标记功能,在ViewController.m中@end之前添加代码:

????? ???? ?UITableView 系列4 :项目中行的操作 (添加移动和删除)(实例)

?? UITableViewCellAccessoryCheckmark??????? ??? UITableViewCellAccessoryDetailDisclosureButton

?

???UITableView 系列4 :项目中行的操作 (添加移动和删除)(实例)??????????? ??UITableView 系列4 :项目中行的操作 (添加移动和删除)(实例)

UITableViewCellAccessoryDisclosureIndicator??????????????? ? ?UITableViewCellAccessoryNone

?

注意,上面第二张图片中的蓝色圆圈不仅仅是一个图标,还是一个控件,点击它可以触发事件,在上一篇博客《iOS开发16:使用Navigation Controller切换视图》使用过。

?

2、移动行

?

想要实现移动或者删除行这样的操作,需要启动表格的编辑模式。使用的是setEditing:animated:方法。

?

2.1 打开ViewController.xib,将其中的表格控件映射成Outlet到ViewController.h,名称为myTableView。

2.2 打开ViewController.m,在viewDidLoad方法最后添加代码:

???

2.4 运行,从下图可以看到实现了行的移动:

?

UITableView 系列4 :项目中行的操作 (添加移动和删除)(实例)

?

但是也会发现,现在无法对每行进行标记了。这说明,在编辑模式下,无法选择行,从而didSelectRowAtIndexPath这个方法不会执行。

?

3、删除行

?

从第2步过来,实现删除某行,其实比较简单了。

3.1将editingStyleForRowAtIndexPath方法中的UITableViewCellEditingStyleNone修改成UITableViewCellEditingStyleDelete。

?

3.2 在@end之前添加代码:

???

刚运行时显示如左边的图片,点击某一行左边的圆圈图标,会显示如中间图片所示。然后点击Delegate按钮,那一行就会被删除掉,如右边的那张图片所示,它显示的是删除时的效果。

?

4、插入行

?

这个与删除行类似。

4.1 首先将editingStyleForRowAtIndexPath方法中的UITableViewCellEditingStyleDelete修改成UITableViewCellEditingStyleInsert。

?

4.2在3.2添加的方法中添加代码:

?

上面的代码中也可以不用insertRowsAtIndexPaths方法,而直接使用[tableView reloadData];语句,但是这样就没有添加的效果了。

?

4.3 好了,运行一下:

?

UITableView 系列4 :项目中行的操作 (添加移动和删除)(实例)???

?

刚运行时如上面左图所示,单击了某个加号后,新的一行就从右边飞进来了,因为在insertRowsAtIndexPaths中用了参数UITableViewRowAnimationRight。

?

来源:http://my.oschina.net/plumsoft/blog/53271

?

?

?

?

?

读书人网 >移动开发

热点推荐