首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随着UILabel inside的增长而扩展UIView

随着UILabel inside的增长而扩展UIView
EN

Stack Overflow用户
提问于 2016-01-27 04:12:17
回答 3查看 4.1K关注 0票数 5

我有一个UIView,它是UIImageViewUILabel的超级视图。根据其中的文本数量,UILabel可以有不同的大小。因此,我需要UIViewUILabel一起增长和缩小,但不能使其工作。

屏幕截图如下所示:

如你所见,标签的上下间距太大了。在.xib中,我将UILabel的顶部和底部约束设置为仅为10,但显然这些约束被违反了。UIView对上面的框架有顶部约束,图像为>=10,这样它就可以从10中生长。

您可以在下面看到.xib

我试着增加UIViewContent Hugging Priority,但没有帮助。相对于其superview UIViewUILabel只有4个约束:上、下、左、右。我也尝试过将UILabelContent Hugging Priority相对于UIView进行更改,但没有成功。UIImageView是图中所示的UIView的实际边框。

EN

回答 3

Stack Overflow用户

发布于 2016-10-07 22:06:41

我想你错过了:

查看:

  • 约束: Height >= 20

标签:

超行高度:0

  • 约束:(超级)

>= 10的上边距和下边距

工作示例的屏幕截图:

提示:使用预览

票数 5
EN

Stack Overflow用户

发布于 2016-01-27 13:02:15

因此,在我的例子中,解决方案是相对于UIImageView设置UILabel的约束,然后将Content Compression Resistance Priority设置为250。然后,一切都开始正常工作。谢谢你,matt!我打开了你的github项目,发现UIImageViewContent Compression Resistance Priority应该是250 --这很关键。

票数 1
EN

Stack Overflow用户

发布于 2016-01-27 04:18:26

将标签设置为.sizeToFit(),或在InterfaceBilder中将行数设置为0,然后设置最大宽度(首选宽度)或设置>=/<=约束。根据我的经验,你必须尝试一些约束才能让它工作,在这种情况下,助手编辑器中的预览非常有用。然后,您可以将superviews的宽度/高度设置为与标签相同,并设置为使其更大。希望这能起作用。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35023011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档