UITableViewCell
2015-10-04 22:08
603 查看
tableViewCell的简介
UITableView的每一行都是一个UITableViewCell,通过dataSource的tableView:cellForRowAtIndexPath:方法来初始化每一行辅助指示视图的作用是显示一个表示动作的图标可以通过设置UITableViewCell的accessoryType来显示,默认是UITableViewCellAccessoryNone(不显示辅助指示视图),其他值如下:
UITableViewCellAccessoryDisclosureIndicator,
UITableViewCellAccessoryDetailDisclosureButton,
UITableViewCellAccessoryCheckmark,
UITableViewCellAccessoryDetailButton
还可以通过cell的accessoryView属性来自定义辅助指示视图(比如往右边放一个开关)
UITableViewCell的样式
cell的重用原理
重用原理:当滚动列表时,部分UITableViewCell会移出窗口,UITableView会将窗口外的UITableViewCell放入一个对象池中,等待重用。当UITableView要求dataSource返回UITableViewCell时,dataSource会先查看这个对象池,如果池中有未使用的UITableViewCell,dataSource会用新的数据配置这个UITableViewCell,然后返回给UITableView,重新显示到窗口中,从而避免创建新对象为了避免从缓存池中取出类型不匹配的cell 设置reuseIdentifier解决这个问题
3.cell从用代码
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { // 1.定义一个cell的标识 static NSString *ID = @"cell"; // 2.从缓存池中取出cell UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID]; // 3.如果缓存池中没有cell if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID]; } // 4.设置cell的属性... return cell; }
4.cell循环利用需要注意的问题
1.cell的数据要覆盖
2.cell的状态要覆盖
相关文章推荐
- iOS编程-------UITextField UIButton UITextFieldDelegate
- Android UI ActionBar功能-启动ActionBar
- Android UI ActionBar功能-启动ActionBar
- iOS编程-------UIView
- 我写了一个高并发的BlockingQueue,有兴趣的可以看看
- mysql query cache用法与性能详细介绍
- FreeSWITCH安装报错“You must install libyuv-dev to build mod_fsv”的解决方案
- UI课程14 标签视图控制器 UITabBarController
- iOS编程------UILabel
- hdoj 5496 Beauty of Sequence 【求序列所有子序列(去重后)的和】【好题】
- valueOf intValue parsetInt区别
- Handler、Message、MessageQueue、Looper关系及源码分析
- UI课程12 模态viewController,单例及单例模式
- iOS常用UI控件熟悉
- KVO(Key-Value-Observer)键值观察者
- UITableViewCell加载图片
- Servlet的学习之Request请求对象(2)
- ios-UI常见问题之TableView异步加载图片错乱显示
- The JSP specification requires that an attribute name is preceded by whitespace
- SPOJ 1771 NQUEEN (DLX解n皇后问题)