使用Masonry 怎么让cell高度自适应,以前一直用frameModel来解决cell高度自适应,最近使用Masonry,想了好久也没有什么好的方案,请大神赐教
使用Masonry 怎么让cell高度自适应,以前一直用frameModel来解决cell高度自适应,最近使用Masonry,想了好久也没有什么好的方案,请大神赐教
首先,不是大神。
但是之前研究过利用autolayout对cell进行约束然后tableview自动计算高度。
1.tableViewcell 用autolayout约束的问题
上面是之前的一个回答,我是利用了两种方法来计算cell的高度。题主可以先看一下。
2.Using Auto Layout in UITableView for dynamic cell layouts & variable row heights
我是利用stackoverflow提到的这个方法来进行约束来自动计算高度的。(顺便说一下如果题主用上面那个连接的方法,记得选择ios7的方法,因为我是用ios8的方式后来项目要兼容ios7我悲剧了。)
3.最后,上一个github的UITableView-FDTemplateLayoutCell。
这个是一个90后程序员开源的利用自动布局的方式来自动计算cell高度的开源代码,他博客里也写了相关的用法,这个项目已经快1000star了。
另外,很想知道题主用frameModel计算cell高度的方式,刚刚查了以下没查到,有机会的能和我说一下吗很想学习以下这个方法。
以上,希望对题主有帮助。
不需要什么第三方,跟使用Autolayout设置自动行高一样。
使用masonry设置想要撑开cell的view约束的上下左右
如果是label,想要自动行高,那么设置行数为0
vc中设置tableview的预估行高和类型为自动行高
self.tableView.estimatedRowHeight = 44;
self.tableView.rowHeight = UITableViewAutomaticDimension;
完全跟AutoLayout没区别,特别需要注意的是,创建约束不要放在layoutSubviews,可以放在视图创建的下面或者是updateConstraints方法中
2 回答1k 阅读
1 回答1.1k 阅读✓ 已解决
1 回答2.7k 阅读
1 回答1.5k 阅读
1 回答1.4k 阅读
1.7k 阅读
1 回答1.1k 阅读
目前我也在使用Masonry,然后使用autolayout来计算cell高度,cell的代码用手写的方式实现。
尝试过计算cell高度,但是都会出现警告,原因是cell的contentView宽高不对。
目前使用“UITableView-FDTemplateLayoutCell”加Masonry来计算高度,没有什么问题。