将标签高度作为内容,没有间距?

时间:2018-01-22 08:57:20

标签: ios swift xcode autolayout uilabel

我在故事板上添加了一个标签。我给它的行为0.它的高度不是静态的。但是当有更多的线条然后它的高度增加但是顶部和顶部增加了空间。底部。我希望在标签高度增加时删除这些额外的空间。我尝试过使用 label.sizeToFit()但是它将文字对齐到左边和右边。我希望文本在中心。顶部和顶部只有额外的间距底部应该减少。

enter image description here

3 个答案:

答案 0 :(得分:0)

编辑:确保缩小字体大小,因为字体变大,内在周围会增加更多空间

contentHuggingPrioprity vertical将其设置为1000

enter image description here

答案 1 :(得分:0)

在这里,我尝试使用SafeAreaLayout / AutoLayout执行以下步骤来解决此问题。

对于storyboard(视图控制器)中的标签实例或以编程方式

  • 删除标签上应用的所有(现有)约束。
  • 相对于其超级视图/相邻的UIElements,再次设置所有约束(顶部,底部,右侧)。
  • 设置行数= 0(& line break mode = truncate tail)

结果如下:

enter image description here

修改:回答您的问题 - 我的标签是垂直中心到超级视图

  • 删除垂直居中标签的Top约束并应用约束:Vertically in container = 0

enter image description here

enter image description here

更新结果(垂直居中):

enter image description here

答案 2 :(得分:-1)

除了sizeToFit,您还可以设置

label.textAlignment = .center

您还可以添加一个UIView,其中的constaints设置就像现在设置的标签一样。在该视图中,您可以向顶部,左侧和右侧添加带约束的标签,并将高度添加到大于或等于0。