获取动态UILabel的高度
Posted
技术标签:
【中文标题】获取动态UILabel的高度【英文标题】:Get dynamic UILabel's height 【发布时间】:2014-11-22 16:43:21 【问题描述】:我想了解名为descriptionText
的UILabel
的高度。我可以用下面的代码记录它,但问题是它不是我想要的数据。它只是具有 1 行的基本标签的大小,而文本有 3 行(或更多)行。我正在使用自动布局并且它可以工作,我可以显示具有动态高度的文本,但由于另一个错误,我需要知道它的真实高度。
这是我给出标签基本高度的尝试:
- (void)viewDidLoad
[super viewDidLoad];
NSLog(@" description height = %f", self.descriptionText.frame.size.height);
是否有可能以某种方式获得已在屏幕上呈现的UILabel
的真实高度?
作为替代方案,我可以使用行数计算所需的值。
【问题讨论】:
你把这个电话放在哪里? @sha 对不起,我忘记了。我在 viewDidLoad 中使用它 在viewWillAppear:
中检查标签的大小。
或viewDidLayoutSubviews
不幸的是viewWillAppear:
没有帮助,但viewDidLayoutSubviews
似乎不错。谢谢
【参考方案1】:
您可能意识到viewDidLoad
不是放置日志的正确位置。viewDidLoad 在视图加载到内存后调用,但尚未执行布局,因此标签的框架反映了最初在故事板文件。
如果您想在布局完成后检查框架,您需要覆盖viewDidLayoutSubviews
,它将在布局完成并设置所有框架后调用。
【讨论】:
以上是关于获取动态UILabel的高度的主要内容,如果未能解决你的问题,请参考以下文章