【问题标题】:Swift Auto Size LabelsSwift 自动尺寸标签
【发布时间】:2017-02-02 20:05:29
【问题描述】:

我试图在视图中使用 3 个标签。并每天随机填写此标签。标签文本随机,因此文本大小灵活。在 Android 中它会自动执行此操作,但在 swift 中它不会将标签大小调整为文本。有一些图片:

安卓:

iOS:

如何自动将这些标签调整为文本?

【问题讨论】:

  • 请解释您的行 auto resize these labels to text? 或者您想将标签更改为文本,或者您想根据标签的内容更改标签的大小。????
  • 我将这些标签放在随机文本上,文本很大,因此标签的书写端......我认为前两个标签没有足够的空间来写。但第三个有。对不起,我只能这样解释
  • 还是没有得到你想要的?有关更多信息,iOS 中的文本和标签是两个不同的东西。所以你说的是哪一个。如果你能告诉我你的代码就更好了。
  • 用这个Answer
  • this answer

标签: ios swift


【解决方案1】:

尝试使用自动布局约束来实现它,而不是根据文本大小计算高度。

在 UI 控件上添加适当的约束,以便自动计算它们的高度和宽度。

注意-

  1. 请确保不要使用高度限制来修复 UI 控件的高度。
  2. 并从情节提要的属性检查器部分设置 UILable 的这两个属性:

    • 行到 0

    • 换行模式到自动换行

【讨论】:

  • 告诉我不固定 UILabel 高度的原因。需要 numberOfLines 和换行模式,但如果没有指定高度,您将无法适应标签。
  • 如果你固定UILable的高度,它不会自动计算它们的高度。
  • 当您使用自动布局时,如果您通过以下代码设置视图高度,您的视图高度将不会受到影响:yourview.height = 100,只有当您通过更高优先级的代码设置约束时,它才会受到影响
  • iOS 使用固有内容大小来计算 UI 元素布局所需的最小空间。您不需要手动设置 UILabel 的高度,如果视图构造良好,则它们的父级也不需要
【解决方案2】:

设置标签的约束,高度约束应该大于。并设置标签的零行数

这样设置约束

【讨论】:

  • 您能否提供一个示例,说明如何仅通过标签高度限制和行数来解决此问题?
猜你喜欢
  • 2015-07-23
  • 2012-02-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多