我正在使用 Swift 开发 iOS 通用应用程序,使用自动布局并且仅支持纵向.
I'm developing iOS Universal App with Swift, using auto layout and support only portrait.
我发现 UIViewController.viewDidLayoutSubviews
被调用了多次.相反,viewDidLoad
仅在启动 MyApp 的 UIViewController
时调用一次.
I found UIViewController.viewDidLayoutSubviews
called multiple times. Instead, viewDidLoad
is only called once on starting up MyApp's UIViewController
.
为什么会多次调用viewDidLayoutSubviews
?每个UIView
(UIButtons
、UITextFields
等)的约束会按顺序执行吗?
Why is viewDidLayoutSubviews
called multiple times? Will constraints on each UIView
(UIButtons
,UITextFields
, etc..) be performed in order?
任何信息将不胜感激.
LoadView
只调用一次:当需要加载视图时.
LoadView
is only called once: when the view needs to be loaded.
LayoutSubviews
在任何调用了 setNeedsLayout
或 setNeedsDisplayInRect
的视图上,每次运行循环都会调用一次 - 这包括任何时候视图中添加了子视图,可以滚动、调整大小等.
LayoutSubviews
, however, is called once per run loop on any view that has had setNeedsLayout
or setNeedsDisplayInRect
called on it - this includes whenever a subview has been added to the view, scrolling, resizing, etc.
这篇关于为什么多次调用 viewDidLayoutSubviews?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!