Cell 不能满足静态约束问题

2015-05-10 21:29:37 +08:00
 mtmobile

问题引出:
在iOS7、iOS8下使用AutoLayout进行布局自定义CELL 时候,调用动态计算tableview cell 高度方法会抛出不能满足静态约束的错误。
动态计算cell高度通过 CGFloat height = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height API返回。

问题解决:
需要在-(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier方法里设置 self.contentView.translatesAutoresizingMaskIntoConstraints = NO;
经过测试,iOS6下不需要设置上面属性,否则会抛出异常。

参考资料:
http://stackoverflow.com/questions/19550875/dynamic-uitableview-cell-height-with-autolayout-with-dynamic-type-labels

http://stackoverflow.com/questions/19132908/auto-layout-constraints-issue-on-ios7-in-uitableviewcell

1911 次点击
所在节点    iDev
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/190018

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX