【问题标题】:Get dynamic UILabel's height获取动态UILabel的高度
【发布时间】:2014-11-22 16:43:21
【问题描述】:

我想了解名为descriptionTextUILabel 的高度。我可以用下面的代码记录它,但问题是它不是我想要的数据。它只是具有 1 行的基本标签的大小,而文本有 3 行(或更多)行。我正在使用自动布局并且它可以工作,我可以显示具有动态高度的文本,但由于另一个错误,我需要知道它的真实高度。

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

- (void)viewDidLoad {

      [super viewDidLoad];
      NSLog(@" description height = %f", self.descriptionText.frame.size.height); 
}

是否有可能以某种方式获得已在屏幕上呈现的UILabel 的真实高度?

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

【问题讨论】:

  • 你把这个电话放在哪里?
  • @sha 对不起,我忘记了。我在 viewDidLoad 中使用它
  • viewWillAppear:中检查标签的大小。
  • viewDidLayoutSubviews
  • 不幸的是viewWillAppear: 没有帮助,但viewDidLayoutSubviews 似乎不错。谢谢

标签: ios objective-c uilabel


【解决方案1】:

您可能意识到viewDidLoad 不是放置日志的正确位置。viewDidLoad 在视图加载到内存后调用,但尚未执行布局,因此标签的框架反映了最初在故事板文件。

如果您想在布局完成后检查框架,您需要覆盖viewDidLayoutSubviews,它将在布局完成并设置所有框架后调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 2017-10-26
    • 1970-01-01
    • 2012-10-18
    • 2010-11-03
    • 1970-01-01
    相关资源
    最近更新 更多