我有一个UIView
,它是UIImageView
和UILabel
的超级视图。 UILabel可以具有不同的大小,具体取决于其中的文本量。因此,我需要UIView
与UILabel
一起增长和缩小,但无法使其正常工作。
它的外观截图如下:
正如您所看到的,标签上方和下方的间距太大。在.xib
我将UILabel
的顶部和底部约束设置为10
,但显然这些都是以某种方式违反的。 UIView
对上面的框架有最高限制,图片为>=10
,因此它可以从10
增长。
您可以在下面看到.xib
:
我尝试增加Content Hugging Priority
的{{1}},但这没有帮助。 UIView
只有4个约束:相对于其超级视图UILabel
的顶部,底部,左侧,右侧。我还尝试相对于UIView
更改Content Hugging Priority
UILabel
但未成功。 UIView
是图片中显示的UIImageView
的实际边框。
答案 0 :(得分:4)
答案 1 :(得分:1)
因此,在我的情况下,解决方案是设置UILabel
相对于UIImageView
的约束,然后将Content Compression Resistance Priority
设置为250
。然后一切都开始奏效了。谢谢matt
!我打开了您的github
项目,发现Content Compression Resistance Priority
的{{1}}应该是UIImageView
- 这是至关重要的。
答案 2 :(得分:0)
将标签设置为.sizeToFit(),或者在InterfaceBilder中将行数设置为0,并设置最大宽度(优先宽度)或make> = /< =约束。根据我的经验,您必须使用约束来使其工作,助理编辑器中的预览在这种情况下非常有用。然后,您可以将超视图的宽度/高度设置为与标签相同,并将其设置为更大。希望这有效。