为什么viewdidlayoutsubviews会多次调用?

Mic*_*aka 23 ios autolayout swift

我在Swift上开发iOS通用应用程序,使用自动布局并仅支持肖像.

我发现UIViewController#viewdidlayoutsubviews多次被叫.相反,viewDidLoad只能在启动MyApp时调用一次UIViewController.

为什么要viewdidlayoutsubviews多次打电话?每个UIView(UIButtons,UITextFields等等)的约束将按顺序执行?

任何信息将不胜感激.

Hay*_*lou 23

LoadView 只被称为一个:当需要加载视图时.

LayoutSubviews但是,在任何已经拥有setNeedsLayoutsetNeedsDisplayInRect调用它的视图上,每个运行循环调用一次- 这包括每次将视图添加到视图,滚动,调整大小等时.