不要在我的 UIView 上指定宽度和高度约束(就像 UILabel 可以做的那样)
Posted
技术标签:
【中文标题】不要在我的 UIView 上指定宽度和高度约束(就像 UILabel 可以做的那样)【英文标题】:Don't specify width & height constraints on my UIView (like UILabel can do) 【发布时间】:2015-08-09 16:28:55 【问题描述】:如果我在视图中放置一个 UILabel 并指定一个垂直空间约束和一个水平空间约束,就可以了。
如果我对自定义 UIView 执行相同操作,IB 会抱怨,因为它缺少高度和宽度限制。
我猜这是因为 UILabel 可以垂直和水平扩展。但是我的自定义 UIView 也是如此,那我怎么知道我的视图有这样的权限呢?
【问题讨论】:
请说明如何添加垂直和水平空间限制。我认为您出于某种原因没有将它们添加到您的标签和视图中。 @dasdom :我只需按住 ctrl 键从我的标签拖动到它的超级视图,然后选择“顶部空间到容器”和“前导空间到容器” 【参考方案1】:UILabel 的默认行为是“适合内容”(编辑器-> 适合内容)。这意味着 UILabel 将随着给定字体大小的 Content 增加而增长。要让视图定位自身,它需要 X、Y、宽度和高度。宽度和高度由它包含的文本给出。休息您已经提供的两个属性。我希望这能回答你的问题。
【讨论】:
以上是关于不要在我的 UIView 上指定宽度和高度约束(就像 UILabel 可以做的那样)的主要内容,如果未能解决你的问题,请参考以下文章
实现一个在autolayout下有宽度约束后,自动确定高度的view