再简单说说UITableView中Cell的复用
来源:互联网 发布:企业淘宝开店费用 编辑:程序博客网 时间:2024/06/09 11:49
之前的一篇博客已经说过了UITableView中Cell的复用,最近有人问到了我相同的问题,因此再简单说一下。之前博客的地址:http://blog.csdn.net/u010105969/article/details/52583210
cell的复用:在我们使用了cell的复用之后系统会将移出屏幕的cell放到缓存池中进行缓存,在滑动屏幕的时候显示其他的cell的时候就会从缓存池中取出已经缓存的cell进行复用。由于缓存的cell是之前的cell所以cell上的内容会和之前的cell上的内容一致,因此我们在使用复用的cell的时候还要对其上的内容进行修改以显示当前cell的实际内容。
最近他人问到我的一个实际问题,看图:
问题:在使用cell的复用之后滑动屏幕,每个cell上的文字内容都是没有问题的,可当点击了第一个cell上正常或隐患的单选按钮之后再次上下滑动屏幕,当再回到第一个cell的时候却发现已点击的按钮成了未选中状态。这就是cell复用的问题,当第一个cell使用缓存池中复用的cell的时候文字内容进行了重新设置因此文字内容是没有问题的,可正常和隐患按钮的选中状态却没有进行重新设置,因此出现了问题。解决该问题的方法和设置文字内容的方法是一样的。每个cell的文字信息都存储在了一个数组中,每次调用
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
这个方法的时候我们都会将数组中的文字信息传递给对应的cell以让cell使用。我们也应该创建一个长度和存储文字信息相同的数组,在该数组中存储按钮的选中状态,并且在每次点击按钮的时候改变数组中某个按钮的选中状态,这样按钮的选中状态问题也就迎刃而解了。注意:在今后的开发中如果cell上有某些控件的状态或内容是变化的我们都应该将它们的状态或内容存储下来以便在方法- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath中使用。
- 再简单说说UITableView中Cell的复用
- UITableview中cell的复用机制
- UITableView的Cell复用的解决
- UIday1002:UITableView 2 用UITableView实现通讯录cell简单的数据移动、删除、添加功能
- iOS7中UITableView中cell的使用
- iOS7中UITableView中cell的使用
- iOS7中UITableView中cell的使用
- iOS7中UITableView中cell的使用
- iOS7中UITableView中cell的使用
- iOS7中UITableView中cell的使用
- iOS7中UITableView中cell的使用
- iOS7中UITableView中cell的使用
- iOS开发 UITableView中cell嵌套UITextField(UITextView)引起的复用问题
- ios UITableView中Cell的重用机制
- UITableView中Cell的重用机制
- ios UITableView中Cell的操作
- UITableView中Cell的位置交换
- ios UITableView中Cell的重用机制
- git学习从零开始
- form表单的几种提交方式
- 《SQL必知必会》学习笔记之-学前知识准备
- arrayfun的妙用
- 12. Internationalization国际化支持
- 再简单说说UITableView中Cell的复用
- perl BEGIN 和END块
- 爱测未来移动-再谈Android数据监控_iTest优化解密
- 升级tensorflow
- 大数据与云计算基础知识(二)
- C#中一些常用的运算
- dubbo与zookeeper交互-3
- Linux NO_PUBKEY
- Q106:Linux系统下安装编译PBRT-V3