获得动态UILabel的高度

时间:2014-11-22 16:43:22

标签: ios objective-c uilabel

我想抓住名为UILabel的{​​{1}}的高度。我可以用下面的代码记录它,但问题是它不是我想要的数据。它只有1行基本标签的大小,文本有3行(或更多行)。我使用自动布局,它可以工作,我可以显示动态高度的文本,但我需要知道它的真正高度,因为另一个错误。

这是我的尝试,它给出了标签的基本高度:

descriptionText

是否有可能以某种方式获得已在屏幕中呈现的- (void)viewDidLoad { [super viewDidLoad]; NSLog(@" description height = %f", self.descriptionText.frame.size.height); } 的真实高度?

作为替代方案,我可以用线数来计算所需的值。

1 个答案:

答案 0 :(得分:2)

您可能已经意识到viewDidLoad不适合放入日志。在将视图加载到内存后调用viewDidLoad,但尚未执行任何布局,因此标签的框架反映了最初设置的内容在Storyboard文件中。

如果要在布局完成后检查帧,则需要覆盖viewDidLayoutSubviews,这将在布局完成并且所有帧都已设置后调用。