0

我正在阅读这篇文章以获取有关如何在 UILabel 中垂直对齐文本的建议,顶部评论似乎提供了一个很好的解决方案。

我有我UILabel的 , 行数为 0。然后在viewDidLoad视图控制器中,它是它的一部分,我调用sizeToFit了它,但它仍然只占据中间。

在 Interface Builder 中看起来像这样:

在此处输入图像描述

当我运行它时看起来完全一样,当我希望它非常接近时,文本仍然离导航栏很远,最好是在那个大纲框的顶部。

我究竟做错了什么?

4

2 回答 2

1

在他原始答案上方的底部,他引用了另一位用户的话说

如果您的标签包含在笔尖或情节提要中作为使用自动布局的 ViewController 的视图的子视图,则将 sizeToFit 调用放入 viewDidLoad 将不起作用,因为在调用 viewDidLoad 后自动布局大小和位置子视图并将立即撤消您的 sizeToFit 调用的效果。但是,从 viewDidLayoutSubviews 中调用 sizeToFit 将起作用。

于 2013-10-02T05:31:38.763 回答
0

该屏幕截图显示了针对标签的特定高度限制(右侧的蓝色 I-bar)。这将覆盖任何 sizeToFit 调用,因为它们只会影响内在大小。

如果您删除该约束,标签的固有大小将使其成为可能包含文本的最小大小,因此将位于导航栏旁边。

于 2013-10-02T06:27:23.657 回答