【问题标题】:IOS Label and View constraints heightIOS标签和视图约束高度
【发布时间】:2015-01-30 08:35:51
【问题描述】:

我真的很困惑约束是iOS,我已经阅读了很多文章,但是当尝试根据UILabel设置UIView的高度约束时卡住了内容高度。我知道这是常见问题,但我真的不明白解决方案。我认为这个问题的主要内容是约束优先级,但我无法正确设置它们。在一种情况下,UIView 的高度不会变为 0,而在其他情况下 UILabel 高度没有任何意义。

所以。我有:

  1. UIView 具有 height 约束和后代约束(下)
  2. UIImageViewheight=32, width=32, top=10, left=10, bottom>=10
  3. UILabelleft to UIImageView = 10, top=10, right=10, bottom=10

我想要:

  1. 如果我要在 UILabel 中放置任何文本,我想根据 UILabel 内容大小的高度来动态调整 UIView 的高度.
  2. 如果 UILabel 中没有要放置的文本,我想将 UIView 的高度设置为 0(隐藏 UIView完全)。

UIImageView - 只是图标。如果没有文字,必须缩小到0,如果有文字,必须有高度32,顶部约束10,底部约束大于等于10。

更新:

通过以编程方式添加高度约束来解决问题。 (不喜欢这样)

【问题讨论】:

  • 那UIImageView在里面有什么用呢?
  • 只是图标,更新了问题

标签: ios uilabel constraints


【解决方案1】:

如果您正确设置优先级,您可以使约束完全控制标签、图像和视图高度。

  • 将四个垂直边距优先级设置为小于 1000(假设为 999)
  • 也将图像高度优先级设置为 999。
  • 将标签垂直拥抱优先级设置为 1000
  • 将图像高度设置为小于或等于标签高度,优先级为 1000
  • 将标签高度设置为小于或等于容器视图高度,乘数为 1: 10(或任何大数),优先级为 1000

这样

视图是这样的

还有这个

【讨论】:

    猜你喜欢
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多