iOS10 中的布局问题

Layout issues in iOS10

我会尽量保持简短。 我使用 viewDidLayoutSubviews 来(主要)将圆角半径应用于几个 UIViewController 中的某些视图。 在 layoutSubviews 中也为自定义 UIViews.

做同样的事情

安装 Xcode 8 Beta 后,这不再像预期的那样运行。 有时它有效,其他人延迟工作,其他人仍然有效,根本没有...

调试时立即发生的一件事是,在第一次调用 viewDidLayoutSubviews 时,相关视图的边界为零。 第二次调用时,边界是正确的;问题是,正如我所说,第二次调用要么有(可见的)延迟,要么根本不会发生。

有什么指点吗? 提前谢谢大家。

最好的, 雷纳托.

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

据我所知,在 iOS 10 中,您不能假设调用是在 layoutSubviewsviewDidLayoutSubviews等会在主线程上调用

所以答案似乎只是将 UI 调用包装在调度块上(新 iOS 10 语法):

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

希望对某人有所帮助:)

此致,

雷纳托。