【问题标题】:Bounds and Frame deliver Wrong Value in iOSBounds 和 Frame 在 iOS 中提供了错误的值
【发布时间】:2016-03-25 01:29:34
【问题描述】:

我在根视图内的视图控制器场景中有一个标签。 我使用下面的 Pins 按钮将高度的约束设置为 30。 故事板中的一切看起来都很漂亮。

但是当我想获取代码中元素的大小时,我总是得到值 21。我尝试了 refLabel.bounds.size.heightrefLabel.frame.height。我在对应类的override func viewDidLoad(){ super.viewDidLoad()函数中调用这个。

这与内在内容大小有关吗?

【问题讨论】:

  • 我使用 Xcode 7 作为 IDE
  • 我添加了一个按钮,用于动态打印尺寸,它的效果真是太棒了!那么为什么它不能在“viewDidLoad()”函数中工作呢?
  • viewDidLoad 中的帧可能不正确,因为尚未执行子视图布局。试试viewDidLayoutSubviews 更多信息:stackoverflow.com/questions/14060002/…

标签: ios swift layout storyboard


【解决方案1】:

试试这个代码

refLabel.layoutIfNeeded()
let height = refLabel.frame.size.height
print("right height is \(height)")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 2018-04-23
    • 2014-03-15
    • 2022-01-24
    相关资源
    最近更新 更多