【问题标题】:Expanding UIView as UILabel inside grows随着 UILabel 内部的增长扩展 UIView
【发布时间】:2016-05-03 13:22:44
【问题描述】:

我有一个UIView,它是UIImageViewUILabel 的超级视图。 UILabel 可以有不同的大小,具体取决于其中的文本数量。所以,我需要UIViewUILabel 一起增长和缩小,但不能让它工作。

它的外观截图如下:

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

你可以在下面看到.xib

我试图增加UIViewContent Hugging Priority,但它没有帮助。 UILabel 只有 4 个约束:相对于其父视图 UIView 的顶部、底部、左侧、右侧。我还尝试将UILabelContent Hugging Priority 相对于UIView 进行更改,但没有成功。 UIImageView 是图片中UIView 的实际边框。

【问题讨论】:

标签: ios xcode uiview xib


【解决方案1】:

认为你错过了:

查看:

  • 约束:高度 >= 20

标签:

  • 行数:0
  • 约束:(超级)视图的顶部和底部边距
  • 约束:高度 >= 10

一个工作示例的屏幕截图:

提示:使用预览

【讨论】:

  • 很好的解释!非常感谢
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    将标签设置为 .sizeToFit(),或在 InterfaceBilder 中将行数设置为 0,然后设置最大宽度(首选宽度)或设置 >=/

    【讨论】:

    • 仍然不成功,没有任何变化。
    • sizeToFit 属性在哪里?
    • 对不起,这是一个函数,myLabel.sizeToFit()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    相关资源
    最近更新 更多