我想抓住名为UILabel
的{{1}}的高度。我可以用下面的代码记录它,但问题是它不是我想要的数据。它只有1行基本标签的大小,文本有3行(或更多行)。我使用自动布局,它可以工作,我可以显示动态高度的文本,但我需要知道它的真正高度,因为另一个错误。
这是我的尝试,它给出了标签的基本高度:
descriptionText
是否有可能以某种方式获得已在屏幕中呈现的- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@" description height = %f", self.descriptionText.frame.size.height);
}
的真实高度?
作为替代方案,我可以用线数来计算所需的值。
答案 0 :(得分:2)
您可能已经意识到viewDidLoad
不适合放入日志。在将视图加载到内存后调用viewDidLoad,但尚未执行任何布局,因此标签的框架反映了最初设置的内容在Storyboard文件中。
如果要在布局完成后检查帧,则需要覆盖viewDidLayoutSubviews
,这将在布局完成并且所有帧都已设置后调用。