一尘不染

为什么多次调用viewDidLayoutSubviews?

swift

我正在使用Swift开发iOS通用应用程序,使用自动布局功能,并且仅支持纵向模式。

我发现UIViewController.viewDidLayoutSubviews打过多次。而是viewDidLoad在启动MyApp时仅被调用一次UIViewController

为什么要viewDidLayoutSubviews多次调用?是否会按顺序对每个UIViewUIButtonsUITextFields等)进行约束?

任何信息将不胜感激。


阅读 1126

收藏
2020-07-07

共1个答案

一尘不染

LoadView 仅被调用一次:需要加载视图时。

LayoutSubviews,但是,每个运行循环都会在已存在setNeedsLayout或已对其setNeedsDisplayInRect调用的任何视图上调用一次-
这包括每当将子视图添加到视图,滚动,调整大小等时。

2020-07-07