iOS10中的布局问题

时间:2016-07-27 10:43:37

标签: swift layout ios10 xcode8-beta3

我会尽量保持这一点。 我正在使用 viewDidLayoutSubviews (主要)将角半径应用于几个 UIViewController 中的某些视图。 也在 layoutSubviews 中为自定义 UIView 执行相同的操作。

安装 Xcode 8 Beta 后,此操作可以预测停止。 有时候它有效,有些则延迟工作,有些仍然有效,而不是......

调试时立即做的一件事就是在第一次调用 viewDidLayoutSubviews 时,对于有问题的视图,边界为零。 在第二次通话时,界限是正确的;就像我说的那样,第二个电话要么有(可见)延迟,要么根本没有发生。

任何指针? 提前谢谢大家。

最佳, 雷纳托。

1 个答案:

答案 0 :(得分:1)

回答我自己的问题,万一有人碰到同样的问题......

据我所知,在 iOS 10 中,您无法承担在 layoutSubviews 上执行的调用, viewDidLayoutSubviews 等将会被调用主线。

所以答案似乎只是简单地将UI调用包装在一个调度块上(新的 iOS 10 sintax):

DispatchQueue.main.async {
        // Do UI stuff here...
        }

希望它对某人有帮助:))

致以最诚挚的问候,

雷纳托。