UIday1101:UITableView 3 自定义cell 多种cell混合使用 cell自适应高度
来源:互联网 发布:软件研发部组织结构图 编辑:程序博客网 时间:2024/05/01 09:17
⼀、⾃定义 cell
⾃定义 cell 就是创建⼀个 UITableViewCell 的⼦类。
把 cell 上的控件创建都封装在⼦类中,简化 UIViewController 中的代码
⼦视图控件添加到 cell 的 contentView 上。
cell 中的控件如何显示 Model 中的信息?
cell 中声明⼀个 Model 类型的属性, viewController 中获取到 Model 对 象后赋值给 cell 的 Model 属性,
cell 中重写 Model 的 setter ⽅法,把 Model 对象中的内容重新赋值给各个控件
M 和 V 不直接进⾏通信, C 负责 M 和 V 之间进⾏通信
⼆、多种类型的 CELL 混合使用
开发中常⻅多种类型的 cell 混合在⼀个 tableView 中使⽤。
通常每种类型的 cell 有不同的布局样式。
注意事项:
通常我们会在 tableView:cellForRowAtIndexPath: ⽅法中根据不同的 Model 来决定使⽤什么类型的 cell
每种类型的 cell 要定义不同的重⽤标识符
cell 重⽤的时候会根据重⽤标识从重⽤队列中取⽤哪种类型的 cell
三、 CELL ⾃适应高度
计算⼀段⽂本在限定宽⾼内所占矩形⼤小
//iOS7 计算⽂本⾼度⽅法:
- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context;
计算⽂本⾼度是所⽤的字体要和 label 显⽰时⽤的字体⼀致。
label 的宽度要和计算时使⽤的限定宽度⼀致。
这样才能保证文本显⽰在 label 中时, label ⾼度恰巧够。
tableView:heightForRowAtIndexPath: ⽅法要比 tableView:cellForRowAtIndexPath 先执⾏。
⾃定义 cell 就是创建⼀个 UITableViewCell 的⼦类。
把 cell 上的控件创建都封装在⼦类中,简化 UIViewController 中的代码
⼦视图控件添加到 cell 的 contentView 上。
cell 中的控件如何显示 Model 中的信息?
cell 中声明⼀个 Model 类型的属性, viewController 中获取到 Model 对 象后赋值给 cell 的 Model 属性,
cell 中重写 Model 的 setter ⽅法,把 Model 对象中的内容重新赋值给各个控件
M 和 V 不直接进⾏通信, C 负责 M 和 V 之间进⾏通信
⼆、多种类型的 CELL 混合使用
开发中常⻅多种类型的 cell 混合在⼀个 tableView 中使⽤。
通常每种类型的 cell 有不同的布局样式。
注意事项:
通常我们会在 tableView:cellForRowAtIndexPath: ⽅法中根据不同的 Model 来决定使⽤什么类型的 cell
每种类型的 cell 要定义不同的重⽤标识符
cell 重⽤的时候会根据重⽤标识从重⽤队列中取⽤哪种类型的 cell
三、 CELL ⾃适应高度
计算⼀段⽂本在限定宽⾼内所占矩形⼤小
//iOS7 计算⽂本⾼度⽅法:
- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context;
计算⽂本⾼度是所⽤的字体要和 label 显⽰时⽤的字体⼀致。
label 的宽度要和计算时使⽤的限定宽度⼀致。
这样才能保证文本显⽰在 label 中时, label ⾼度恰巧够。
tableView:heightForRowAtIndexPath: ⽅法要比 tableView:cellForRowAtIndexPath 先执⾏。
所以要提前计算好每⾏ cell 需要多少⾼度。
//cell只能设置高度,宽度是和tabView屏幕一样宽的-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return 100;}
0 0
- UIday1101:UITableView 3 自定义cell 多种cell混合使用 cell自适应高度
- 13 自定义cell、cell自适应高度、 多种类型的cell混合使用、 UITableViewController、model类
- Cell自适应高度及自定义cell混合使用
- UItableView cell 自适应高度
- 爬爬爬之路:UI(十一) UITableView(三) 自定义Cell 多Cell混合 自适应高度 及cell的状态控制
- UITableView中自定义Cell,自适应高度
- 多种自定义Cell混合
- Cell自适应高度及自定义cell混合使…
- UIday1103:UITableView 3 cell高度自适应代码
- iPhone UItableView cell 自适应高度
- swift UITableView cell自适应高度
- swift UITableView cell自适应高度
- UITableView的cell自适应高度
- UITableView的cell自适应高度
- iOS 自定义Cell 自适应高度
- 【iOS开发】UITableView Cell 自适应高度
- 【自用】UITableView每个cell高度自适应
- IOS UItableview UIcollectionview cell高度自适应
- Android SQLite数据库应用之Prepared Statement、事务操作
- 1040. 有几个PAT(25)
- LRU算法:商品浏览历史排序
- swift详解二十五 -------------- CALyer 几何学
- Android中数据存储——ContentProvider存储数据
- UIday1101:UITableView 3 自定义cell 多种cell混合使用 cell自适应高度
- SDUT2038-----数字游戏
- 关于sql数据表中查找重复记录的技巧
- 监听EditText的变化
- Java 创建对象时的初始化过程
- Html学习笔记1
- android学习笔记(一)
- Android4.4竖屏切换至横屏的生命周期变换
- java小程序:输出一到一百素数 , 每五个换行