我在详细信息视图的自动布局中遇到了问题UISplitViewController
。我的视图层次结构包含一个UIImageView
带有装饰元素,并且图像视图的固有尺寸似乎搞乱了其余控件的布局。
这些是我为图像视图指定的约束:
H:[UIImageView:0xc83ba90]-(NSSpace(20))-|
H:|-(NSSpace(20))-[UIImageView:0xc83ba90]
UIImageView:0xc83ba90.bottom == UITextField:0xc83d2d0.bottom
V:[UIImageView:0xc83ba90 (3)]>,
H:[UIImageView:0xc83ba90 (532)] Hug:1 CompressionResistance:750
V:[UIImageView:0xc83ba90 (2)] Hug:250 CompressionResistance:750
我想要的行为是调整图像视图的大小以填充其超级视图,如前两个约束所述。我看到的实际行为是图像视图仅占用其内在尺寸约束所描述的水平空间。它似乎还改变了所有同级视图的布局,就好像超级视图只是在与图像视图一样宽的矩形中布局视图。
我认为将图像视图的拥抱优先级指定得尽可能低将使其他约束覆盖它以调整图像视图的大小。我在这里做错了什么?
所以,我终于找到了解决办法。
解决方案是增加拥抱优先级superview
to .defaultHigh
并降低抗压优先级UIImageView
to .defaultLow
。这将使约束覆盖图像的固有尺寸。
内容拥抱优先级 - 此优先级越高,视图就越抵制超出其固有内容大小。
内容压缩阻力优先级 - 此优先级越高,视图就越能抵抗收缩到小于其固有内容大小的情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)