【问题标题】:UIview top constrained to safe area, but in viewDidLoad, the view has the wrong Y positionUIview 顶部限制在安全区域,但在 viewDidLoad 中,视图的 Y 位置错误
【发布时间】:2019-09-28 22:47:37
【问题描述】:

我的观点:

安全区域 标签

所以在 iPhone 8 的 Interface Builder 中,Label 的 Y 坐标为 60。由于 40 的顶部约束,安全区域的高度也为 20

在运行时,我还看到标签的 Y 坐标为 60

但是,当我在 viewDidLoad() 中设置断点时,看起来安全区域并未考虑到 y et 中,因为 Label 的 Y 坐标为 40

我已尝试调用view.layoutSubviews(),但直到viewDidLoad() 之后的一段时间,标签仍不会移动。

有什么方法可以在我的viewDidLoad() 中获得最终的 Y 坐标 (60)?

【问题讨论】:

  • viewDidLoad,顾名思义,是加载视图时,而不是布局时。当调用viewDidLayoutSubviews 时,它们会被布置。您是否有任何理由希望标签在viewDidLoad 中特别正确布局?

标签: ios swift viewdidload safearealayoutguide


【解决方案1】:

在此之后,我的视图的最终位置设置在 viewDidAppear 之前,所以这就是我最终进行框架计算的地方

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 2022-09-23
    • 2017-05-10
    • 1970-01-01
    相关资源
    最近更新 更多