我需要实施像Instagram这样的新闻提要,但我遇到了一些我的约束方面的麻烦。
我有一个tableView单元格,其中包含:imageView,标签1,标签2,视图1和视图2,垂直顺序如下:
我需要达到以下条件:
- 我的形象是方形的
- 标签1(黑色)最多5行
- 标签2(红色标签)不具有最大行数
- 视图1是30px高度
- 视图2高度为35px
我的约束是:
图像:
标签1:
标签2:
查看1:
观看2:
在运行时,我收到几个关于约束的警告。它无法满足我的所有限制。
"<NSLayoutConstraint:0x7fec35712d60 V:[UIView:0x7fec357391e0(30)]>",
"<NSLayoutConstraint:0x7fec3570a8f0 V:[UIView:0x7fec357432a0(35)]>",
"<NSLayoutConstraint:0x7fec350d17b0 V:|-(0)-[UIImageView:0x7fec35711340] (Names: '|':UITableViewCellContentView:0x7fec35744f30 )>",
"<NSLayoutConstraint:0x7fec350bf830 V:[UIImageView:0x7fec35711340]-(8)-[TimelineLabel:0x7fec3570a980'Usura']>",
"<NSLayoutConstraint:0x7fec350bc7e0 V:[TimelineLabel:0x7fec3570a980'Usura']-(8)-[UILabel:0x7fec350ddb40'Produtos: BATOM: MAC, SOM...']>",
"<NSLayoutConstraint:0x7fec35701f20 V:[UILabel:0x7fec350ddb40'Produtos: BATOM: MAC, SOM...']-(8)-[UIView:0x7fec357391e0]>",
"<NSLayoutConstraint:0x7fec350e90c0 V:[UIView:0x7fec357391e0]-(0)-[UIView:0x7fec357432a0]>",
"<NSLayoutConstraint:0x7fec350e9110 UIView:0x7fec357432a0.bottom == UITableViewCellContentView:0x7fec35744f30.bottom>",
"<NSLayoutConstraint:0x7fec357085c0 'UIView-Encapsulated-Layout-Height' V:[UITableViewCellContentView:0x7fec35744f30(0)]>"
Will attempt to recover by breaking constraint
NSLayoutConstraint:0x7fec3570a8f0 V:[UIView:0x7fec357432a0(35)];
对于我的tableView中的每个单元格,打破一个不同的常量。
我尝试了很多解决方案但没有效果。
帮助!请!
答案 0 :(得分:2)
警告是关于动态TableViewCell中的牢不可破的约束。但是,随着布局在执行时间的变化,您必须让视图适应自己,而不受严格的“像素精度”限制。
您需要将1000个优先级约束中的一些设置为999.这将使Xcode对某些需要破坏约束的情况感到高兴。但是,在大多数情况下,您的所有约束都将得到满足。 = d