【问题标题】:Autolayout of 2 multiline UILabels2个多行UILabels的自动布局
【发布时间】:2015-08-22 08:03:08
【问题描述】:

我正在制作一个“最新消息”XIB,我将在我的故事板中重复使用它。

问题是 XIB 文件由于某种原因比它应有的高度要高得多。 我尝试使用preferredMaxLayoutWidth 或将高度约束设置为a >= x,但没有任何效果。

这是我的视图层次结构,以及视图的约束:

结果是这样的:

这是情节提要场景的层次结构:

我希望这是足够的信息,并提前感谢!

【问题讨论】:

  • 尝试设置三个标签的背景颜色,找出哪个破坏了你的布局
  • 另外,我可以从您的故事板中看出,您有一些冲突的约束(红色箭头)和明确的布局(黄色虚线)。确保所有 AutoLayout 指南都是蓝色的,并且没有警告或错误。这些应该有望为您指明正确的方向
  • 您使用的是“compact-regular”尺寸等级。那是您设备的正确类别吗?您是否在不同的尺寸类别中设置了错误的约束?
  • @GrahamPerks 是的,这是正确的尺寸等级。 @Aleksander 我已经给它们上色了。造成问题的是中间(类别)标签。但仅出于调试目的,我将其高度设置为固定值,然后顶部(标题)标签的高度太大。最后,如果我将顶部标签的高度设置为固定,那么底部标签也会出现同样的问题。我的警告是here:另外,在故事板中,对于最新消息的 UIView,我已将其固有大小设置为 placeholder
  • 你让 nooflines = 0 吗?

标签: ios xcode xcode6 autolayout


【解决方案1】:

通过查看您的 nib 布局,我猜想顶级 Container 被限制在其超级视图的顶部和底部。该约束可能正在击败其他约束。 打破这些限制,看看是否有帮助。

【讨论】:

    【解决方案2】:

    问题在于 Content Hugging PriorityContent Compression Resistance Priority 设置不正确,所以左侧的 UIImageView 总是扩展到其最大高度。

    一旦设置了Content Priorities,问题就消失了,因此右侧的文本决定了容器的高度。

    【讨论】:

      猜你喜欢
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 2014-07-13
      • 2015-11-02
      • 1970-01-01
      • 1970-01-01
      • 2012-09-29
      • 1970-01-01
      相关资源
      最近更新 更多