iOS10中的布局问题

雷纳托

我会尽量保持简短。我正在使用viewDidLayoutSubviews(主要)将角半径应用于多个UIViewController中某些视图对于自定义UIView,也可以在layoutSubviews中进行相同的操作。

在安装Xcode 8 Beta之后,该行为可预期地停止了。有时它可以正常工作,另一些则可以延迟工作,而另一些仍然可以,根本不起作用...

调试时立即发生的一件事是,在第一次调用viewDidLayoutSubviews时,所讨论视图的边界为零。在第二次通话中,范围是正确的;就像我说的,问题是第二个呼叫要么有(可见)延迟,要么根本没有发生。

有指针吗?谢谢大家。

最好,雷纳托。

雷纳托

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

据我所知,在iOS 10中,您不能假定在主线程上调用对layoutSubviewsviewDidLayoutSubviews等执行的调用。

因此,答案似乎只是将UI调用包装在分派块上(新的iOS 10 sintax):

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

希望对某人有帮助:)

此致,

雷纳托。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章