Why is viewDidLayoutSubviews called multiple times?(为什么多次调用 viewDidLayoutSubviews?)
问题描述
我正在使用 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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:为什么多次调用 viewDidLayoutSubviews?
基础教程推荐
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01