[81gNose]你不知道的那些tableViewCell中的那些坑

iOS培训教程UITableViewCell的介绍:UITableView中显示的每一个单元都是一个UITableViewCell对象,在tableView快速滑动的滑动的过程中,频繁的alloc对象是比较费时的,于是引入了cell的重用机制,这个也是我们在dataSource中要重点注意的地方,用好重用机制会让我们的tableView滑动起来更加流畅。
  可以通过cell的selectionStyle属性指定cell选中时的显示风格,和通过accessoryType来指定cell右边的显示的内容,或者直接指定accessoryView来定制右边显示的view。
  系统提供的UITableView也包含了四种风格的布局,分别是:
[81gNose]你不知道的那些tableViewCell中的那些坑_第1张图片
  当系统提供的风格不是我们想要的时候,我们就需要对cell进行定制了,有以下两种定制方式可选:
  1、从UITableViewCell派生一个类
  通过从UITableViewCell中派生一个类,可以更深度的定制一个cell,可以指定cell在进入edit模式的时候如何相应等等。最简单的实现方式就是将所有要绘制的内容放到一个定制的subView中,并且重载该subView的drawRect方法直接把要显示的内容绘制出来,最后再将该subView添加到cell派生类中的contentView中即可。但是这样定制的cell需要注意在数据改变的时候,通过手动调用该subView的setNeedDisplay方法来刷新界面。
  事实上subView都是添加在cell的contentView上面的,而不是直接加到cell上面,下面我们看一下cell在正常状态下和编辑状态下的构成图:
  cell在正常状态下的构成图如下:
[81gNose]你不知道的那些tableViewCell中的那些坑_第2张图片
  2、直接向cell的contentView上面添加subView
  这是比较简单的一种的,根据布局需要我们可以在不同的位置添加subView。但是此处需要注意:所有添加的subView都最好设置为不透明的,因为如果subView是半透明的话,view图层的叠加将会花费一定的时间,这会严重影响到效率。同时如果每个cell上面添加的subView个数过多的话(通常超过3,4个),效率也会受到比较大的影响。

[81gNose]你不知道的那些tableViewCell中的那些坑_第3张图片

  如上,往每个cell中添加了6个subView,而且每个subView都是半透明(UIView默认是半透明的),这个时候滑动起来不是很流畅。当把每一个subView的opaque属性设置成YES的时候,滑动会比之前流畅一些,不过还是有点儿卡。基本上就是这样了。
今天就和大家分享这么多,不能一下撑死个胖子,东西要一点点的消化,一节课上一节内容,如果你还对iOS开发方面内容更感兴趣的话,不妨关注一下“《蓝鸥iOS培训》iOS开发视频教程-UI多视图-tableView(五)-易荟云(10)”了解一下我们的讲师是怎样教学生的,怎样为学生传授知识的。

你可能感兴趣的:([81gNose]你不知道的那些tableViewCell中的那些坑)