iOS 10 自动布局 - viewDidLayoutSubviews 重复调用

标签 ios swift autolayout viewdidlayoutsubviews viewwilltransitiontosize

整个 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/

相关文章:

ios - 您可以在应用程序中使用 Apple Watch 表冠吗?

ios - 可以从应用程序中读取企业 iOS 下载链接 plist 吗?

ios - 复制iOS xcode项目

ios - Swift:来自 XIB 文件的多个自定义 TableViewCells

XCode 默认设置为使用 Swift 2.0?

nsstring - NSScanner 是否支持 Swift 字符串?

ios - UITableViewCell 边距不一致(静态单元格)

iphone - 惰性符号绑定(bind)失败 : Symbol not found: _arc4random_uniform

ios - 保持 UIImageView 和 UILabel 居中对齐

iOS 简单视觉格式布局不起作用