UITableViewCell高度自适应探索--AutoLayout结合Frame
2016-04-07 15:54
483 查看
UITableViewCell高度自适应探索--UITableView+FDTemplateLayoutCell
地址: http://www.jianshu.com/p/7839e3a273a6
UITableViewCell高度自适应探索--cell预估高度(一)
地址: http://www.jianshu.com/p/6ab92579fcf1
UITableViewCell高度自适应探索--cell预估高度(二)
地址: http://www.jianshu.com/p/f3609cd9392e
今天,再提供一种AutoLayout与Frame相结合的方式来设置cell高度的方法.
今天这个方法的要点是:
使用Autolayout在进行布局.
使用Frame进行高度计算
使用模型的属性缓存每个Cell第一次计算的高度.
相对于之前说的那些方法,这个方法比UITableView+FDTemplateLayoutCell使用起来更简单和容易理解(自从写FD那篇文章发表后收到很多网友的关于使用的问题,大部分是由于没有使用正确);并且克服了预估高度方式的那些问题,也不用把约束改来改去, 使计算的过程更加可控.
这种方法虽然是使用fram的方式计算,但是如果没有autoLayout,计算的过程就会复杂几倍,有时候可能还需要一个专门的类去管理子控件的frame.在我看来是一个比较不错的方法.
进入正题.
先看要实现的效果:
View Code
地址: http://www.jianshu.com/p/7839e3a273a6
UITableViewCell高度自适应探索--cell预估高度(一)
地址: http://www.jianshu.com/p/6ab92579fcf1
UITableViewCell高度自适应探索--cell预估高度(二)
地址: http://www.jianshu.com/p/f3609cd9392e
今天,再提供一种AutoLayout与Frame相结合的方式来设置cell高度的方法.
今天这个方法的要点是:
使用Autolayout在进行布局.
使用Frame进行高度计算
使用模型的属性缓存每个Cell第一次计算的高度.
相对于之前说的那些方法,这个方法比UITableView+FDTemplateLayoutCell使用起来更简单和容易理解(自从写FD那篇文章发表后收到很多网友的关于使用的问题,大部分是由于没有使用正确);并且克服了预估高度方式的那些问题,也不用把约束改来改去, 使计算的过程更加可控.
这种方法虽然是使用fram的方式计算,但是如果没有autoLayout,计算的过程就会复杂几倍,有时候可能还需要一个专门的类去管理子控件的frame.在我看来是一个比较不错的方法.
进入正题.
先看要实现的效果:
// 控制器tableView协议方法实现 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { Message *message = self.dataList[indexPath.row]; return message.cellHeight; }
View Code
完整代码下载:https://github.com/CoderAO/AutoCellHeightMix
相关文章推荐
- IOS开发-UI学习-NSMutableAttributedString(带属性的字符串)的使用
- iOS开发基础学习笔记——导航控制器2->导航栏(UINavigationBar)/工具栏(toolBar)/导航元素按钮(UINavigationItem)
- easyui的datagrid的分页问题
- UITableView优化技巧
- 一个实现 Twitter SnowFlake 算法 的 Go 分布式 UID 生成器
- 改变UITextView的边框颜色
- UIView的contentMode使用小结
- 自定义UICollectionViewLayout(一) ----LineLayout
- UITextField小结
- 6.7.3 qmgr_message_reslove函数:解析收件人地址,生成QMGR_TRANSPORT和QMGR_QUEUE结构体
- 执行session.createSQLQuery(querySql).list()多次后,再次执行没有动静
- UIBarbuttonItem
- STL学习笔记— —容器deque
- maven install与maven build的区别
- JAVA中String与StringBuffer,StringBuilder的区别
- 各种姿势玩转KVC
- UI控件
- iOS中利用KeyChain获取UUID(唯一标示符)
- 6.2.5 QMGR_QUEUE:收信域信息
- EasyUI iframe 里 dialog 模态 弹出 到 顶层