我一直认为只要你的视图出现在屏幕上就会调用viewDidAppear
,但我已经被告知,例如,当你背景应用程序时(通过按主页按钮)然后带它备份,viewDidAppear
未被调用(转到后台"不会从视图层次结构中删除当前视图")。那么,对于#34;出现"的观点实际上意味着什么呢?此外,对于"加载"的观点意味着什么,即。它何时实际发生(例如,通过触摸应用程序图标打开应用程序等)
答案 0 :(得分:10)
是Heirarchy这个: - Alwys Whenevr您的视图控制器运行它就像这样
1st ViewDidLoad
2nd ViewAppear
3rd ViewDidAppear
第4次ViewWillDisAppear
第五次ViewDidDisAppear
最后6次ViewDidUnload
你可以通过这个简单的生活来理解这个例子: -
假设您在咖啡馆和
<强>第一强> ==&GT;您订购咖啡然后在此服务致电然后他们填充您的咖啡杯(注意< / strong>加载或填充所有包含像杯子上的咖啡被称为 ViewDidLoad )
<强>第二强> ==&GT;&GT;当服务将咖啡放在您的桌面上时(注意被称为 ViewWillAppear 您的咖啡就像您的ViewController 查看)
<强>第三强> ==&GT;&GT;并且当您看到 Coffe (注意被称为 ViewDidAppear 您的视图可以在屏幕上看到的地方就像您看到咖啡时那样)
<强>第四强> ==&GT;&GT;之后当你完成你的 Macachino咖啡并且是空的(注意被称为 ViewWillDisAppear 在哪里卸货或空的过程是StandWillDisAppear)
5&amp;第六强> ==&GT;&GT;之后当服务到来并且它拿起你的咖啡杯并且当你的眼睛消失时从你那里收回(注意被称为 ViewDidDisAppear 当视图或你的屏幕像你的杯子一样空白时)最后所有过程都在这里完成....
如果你再次订购了Diff。咖啡Aur相同的咖啡,所有步骤再次调用相同,你有多个ViewController,他们再次呼叫A - B - A - B
上传本故事的快乐编码
答案 1 :(得分:2)
viewDidLoad
。
viewDidAppear
调用。通常在所有动画完成后,但不是必需的。
如果实现包含一些子视图控制器的自定义控制器,则在将它们添加到父控制器时,将调用子控制器的didMoveToParentViewController
。因此,无论何时调用此方法,都会自动调用子VC的viewDidAppear
。
答案 2 :(得分:2)
viewDidLoad
。只有在初始化并推送或显示视图时才会调用它。
viewDidAppear
。它在视图出现后被调用。
每次在加载视图后看到视图时都会调用ViewDidAppear
。如果你推动然后在该视图上弹出任何其他viewController,则再次调用viewDidAppear
。
视图生命周期控制器: