论坛首页 移动开发技术论坛

iOS开发教程—UITableViewCell介绍

浏览 2543 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-10-09  
iOS
紧跟着UITableView脚步,一起学习UITableViewCell的有关内容,学习也要趁热打铁,不然等到把iOS开发方面的东西都学完了,怕大家也忘差不多了,一定要多听、多想、多问、多练才会把每一节内容都消化掉。更多iOS培训、手游开发、手机开发、iPhone开发等详细内容尽在蓝鸥3!
  iOS培训教程UITableViewCell的介绍:UITableView中显示的每一个单元都是一个UITableViewCell对象,在tableView快速滑动的滑动的过程中,频繁的alloc对象是比较费时的,于是引入了cell的重用机制,这个也是我们在dataSource中要重点注意的地方,用好重用机制会让我们的tableView滑动起来更加流畅。
  可以通过cell的selectionStyle属性指定cell选中时的显示风格,和通过accessoryType来指定cell右边的显示的内容,或者直接指定accessoryView来定制右边显示的view。
  系统提供的UITableView也包含了四种风格的布局,分别是:[img][/img]

当系统提供的风格不是我们想要的时候,我们就需要对cell进行定制了,有以下两种定制方式可选:
  1、从UITableViewCell派生一个类
  通过从UITableViewCell中派生一个类,可以更深度的定制一个cell,可以指定cell在进入edit模式的时候如何相应等等。最简单的实现方式就是将所有要绘制的内容放到一个定制的subView中,并且重载该subView的drawRect方法直接把要显示的内容绘制出来,最后再将该subView添加到cell派生类中的contentView中即可。但是这样定制的cell需要注意在数据改变的时候,通过手动调用该subView的setNeedDisplay方法来刷新界面。
  事实上subView都是添加在cell的contentView上面的,而不是直接加到cell上面,下面我们看一下cell在正常状态下和编辑状态下的构成图:
  cell在正常状态下的构成图如下:[img][/img]

2、直接向cell的contentView上面添加subView
  这是比较简单的一种的,根据布局需要我们可以在不同的位置添加subView。但是此处需要注意:所有添加的subView都最好设置为不透明的,因为如果subView是半透明的话,view图层的叠加将会花费一定的时间,这会严重影响到效率。同时如果每个cell上面添加的subView个数过多的话(通常超过3,4个),效率也会受到比较大的影响。[img][/img]

如上,往每个cell中添加了6个subView,而且每个subView都是半透明(UIView默认是半透明的),这个时候滑动起来不是很流畅。当把每一个subView的opaque属性设置成YES的时候,滑动会比之前流畅一些,不过还是有点儿卡。基本上就是这样了。
      今天就和大家分享这么多,不能一下撑死个胖子,东西要一点点的消化,
  • 大小: 9.4 KB
  • 大小: 19.3 KB
  • 大小: 50 KB
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics