美文网首页list 征服iOS
ios-UITableView的初步学习

ios-UITableView的初步学习

作者: 歌白梨 | 来源:发表于2015-07-25 21:39 被阅读759次

每次写这些文字的时候都是直接步入正题,感觉太没有人情味了。。哈哈。。以下是一些使用TableView的基本知识。更深入的话,后面会更新的啦。。

1.继承自UIScrollView

2.两种风格

3.两个Delegate:dataSource和delegate

4.使用NSIndexPath来定位

5.只显示一列数据,只能纵向滑动

6.UITableViewController默认的会在viewWillAppear的时候,清空所有选中cell。

设置self.clearsSelectionOnViewWillAppear = NO,来禁用该功能,

在viewDidAppear中调用UIScrollView的flashScrollIndicators方法让滚动条闪动一次,提示用户该控件是可以滑动的。

7.cell重用机制

8.selectionStyle属性:指定cell选中时的显示风格,

accessoryType:指定cell右边的显示的内容,

accessoryView:定制右边显示的view。(UISwitch)

8.opaque属性:UIView的透明度属性,默认为半透明

9.要重构cell,可以直接将subView的drowRect方法重写, 将要加的subview定制在一个subView里面, 然后加入ContentView当中

10.subView最好还是添加到cell的contentView

如何提高tableView的性能

1、重用cell

我们都知道申请内存是需要时间,特别是在一段时间内频繁的申请内存将会造成很大的开销,而且上tebleView中cell大部分情况下布局都是一样的,这个时候我们可以通过回收重用机制来提高性能。重用cell有两步:

  我们需要先注册这个cell, registerClass or registerNib  

  然后在delegate 的方法里面deque这个cell ,两步使用相同的identifier 。

2、避免content的重新布局

尽量避免在重用cell时候,对cell的重新布局,一般情况在在创建cell的时候就将cell布局好。

prepareForReuse 方法是在deque方法之前调用的,方法可以重写一些对cell的更新布局,记住一定要[super prepareForReuse],也可以在里面实现通知取消上次对此cell的网络请求,因为已经重用啦,还发什么网络请求尼,方法里面最好不要包括content相关的更新.

3、使用不透明的subView

在定制cell的时候,将要添加的subView设置成不透明的会大大减少多个view层叠加时渲染所需要的时间。

4、如果方便,直接重载subView的drawRect方法

如果定制cell的过程中需要多个小的元素的话,最好直接对要显示的多个项目进行绘制,而不是采用添加多个subView。

5、tableView的delegate的方法如非必要,尽量不要实现

tableView的delegate中的很多函数提供了对cell属性的进一步控制,比如每个cell的高度,cell是否可以编辑,支持的edit风格等,如非必要最好不要实现这些方法因为快速的调用这些方法也会影响性能。

相关文章

  • ios-UITableView的初步学习

    每次写这些文字的时候都是直接步入正题,感觉太没有人情味了。。哈哈。。以下是一些使用TableView的基本知识。更...

  • iOS-UITableView学习笔记

    tableview 的cell点击事件不重复使用的cell需要单独定义并实现跳转二级界面 重复使用的cell点击事...

  • iOS-UITableView 详解(一)

    iOS-UITableView 详解 (一) ✨建议收藏,用到时候一查就明白了UITableView可以说是iOS...

  • 学习中

    初步学习

  • 学习小组Day7笔记--小孙

    初步学习测序

  • immutable的初步学习

    immutable是什么 Immutable data cannot be changed once create...

  • springboot的初步学习

    springboot可以没有xml配置文件,全局使用@Configuration来支持。 springboot内置...

  • Python学习的初步

    在众多的编程语言中python现在可以说是非常火。想学好python不是一朝一夕,今天给大家讲讲python中最常...

  • Git的初步学习

    前言 感谢! 承蒙关照~ Git的初步学习 为什么要用Git和Github呢?它们的出现是为了用于提交项目和存储项...

  • 2019-07-12 Dart学习(一)

    Dart语言的学习初步总结,还希望各位提供更好的学习资料,大家共同学习。就我初步学习,先上代码,在代码的注释中学习...

网友评论

    本文标题:ios-UITableView的初步学习

    本文链接:https://www.haomeiwen.com/subject/evkmqttx.html