整个 Storyboard 都启用了 AutoLayout。
当我将日志放入 viewDidLayoutSubviews() 时,我可以看到它被重复调用,并且永不停止。
我在 View Controller 中没有任何自动布局红旗。
这可能是什么原因造成的?调试此问题的最佳方法是什么?...找出哪个 View 有问题?
更新
原来是UILabel惹的祸。即使它具有所有 4 个约束(x、y、宽度、高度),它似乎正在调用树上的重新布局......
最佳答案
我最好的猜测是它与 subview 在 Storyboard 中的布局方式有关。也许一些错误的观点连接。如果没有更多关于 View 和 View Controller 布局的上下文,很难帮助您解决这个问题。您有可以分享的代码示例或 Storyboard吗?
您可以尝试使用 Xcode 中的 View Debugger 工具。除了尝试查看我的 View 层次结构之外,我自己没有使用它进行调试。首先在 viewDidLayoutSubviews 中放置一个断点,然后观察层次结构在每次调用时如何变化。 https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/debugging_with_xcode/chapters/special_debugging_workflows.html
关于iOS 10 自动布局 - viewDidLayoutSubviews 重复调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42655344/