Tag: View Controller

View Controller的基本生命周期

好的,这是View Controller的基本生命周期。 这是Apple的View Controller文档。 有一些不同的生命周期事件 – loadView 创建控制器管理的视图。 仅在创建视图控制器且仅以编程方式完成时才调用它。 – viewDidLoad 在控制器的视图加载到内存后调用。 仅在创建视图时调用。 – viewWillAppear 只要视图出现在屏幕上,就会调用它。 在此步骤中,视图已定义边界,但未应用方向。 – viewWillLayoutSubviews 调用以通知视图控制器其视图将要布局其子视图。 每次框架更改时都会调用此方法 – viewDidLayoutSubviews 调用以通知视图控制器其视图刚刚布置了其子视图。 视图布局其子视图后,请在此处进行其他更改。 – viewDidAppear 通知视图控制器其视图已添加到视图层次结构中。 – viewWillDisappear 在过渡到下一个视图控制器并且将源视图控制器从屏幕上移除之前,将调用此方法。 – viewDidDisappear 从屏幕中删除视图控制器后,将调用此方法。 通常,您可以重写此方法以停止视图控制器不在屏幕上时不应运行的任务。

iOS View Controller生命周期

介绍: 对于iOS应用开发,最重要的是了解应用生命周期并查看生命周期 通常,有三种方法可以在iOS中制作View Controller。 从.xib 从代码 通过情节提要 这是在生命周期视图中处于活动状态的所有方法: loadView 当视图控制器从代码创建时使用此方法。最好不要对由.xib或情节提要制成的此方法id视图控制器执行任何操作。 在视图加载中做什么:视图控制器在 请求 其 view属性但当前为 nil 时调用此方法 。 此方法加载或创建视图,并将其分配给 view 属性。在此方法中,viewController以编程方式创建。 viewDidLoad: 此方法在视图控制器生命周期中加载一次。在加载所有视图时调用此方法。在此方法中,它的优点是: 1.需要Onece的网络通话。 2.用户界面 3,其他需要一次完成的任务 注意:在此方法中,在定义边界和发生旋转之前为Call调用,因此在此方法中使用大小有风险。 viewWillAppear: 每次在视图可见之前和配置任何动画之前都会调用此方法。在此方法中,视图已绑定但尚未设置方向。您可以重写此方法以执行与显示视图相关的自定义任务,例如隐藏字段或在视图变为可见之前禁用操作。 viewWillLayoutSubviews: 默认情况下,它什么都不做。 当视图的边界改变时,该视图将调整其子视图的位置。 视图控制器可以重写此方法以在视图布置其子视图之前进行更改。 viewDidLayoutSubviews: 在更改其边界后,将viewController调整为其子视图之后,将调用此方法。如果要在设置子视图后对其进行更改,请在此处添加代码。 viewDidAppear: 在屏幕上显示视图之后调用此方法。 通常将数据保存到核心数据或开始动画或开始播放视频或声音,或开始从网络收集数据。这种任务类型适用于此方法。 viewWillDisappear: 从视图层次结构中删除视图之前调用的此方法。视图仍在视图层次结构上但尚未删除。 尚未配置任何卸载动画。 在此处添加代码以处理计时器,隐藏键盘,取消网络请求,将所有更改还原到父UI。 另外,这也是保存状态的理想位置。 viewDidDisappear: 从视图层次结构中删除VC的视图后,将调用此方法。 使用此方法停止侦听通知或设备传感器。 取消初始化: 在将视图控制器从内存中删除之前,它会被初始化。 通常,您可以重写deinit()来清除视图控制器已分配的资源,但这些资源不会被ARC释放。 请记住,仅因为不再可见VC,并不意味着它已被释放。 容器视图控制器(例如NavigationController)可以将其VC保留在内存中。 请记住,即使VC位于屏幕外,如果它仍在内存中,它仍然可以正常工作并可以接收通知。 didReceiveMemoryWarning() 当内存开始填满时,iOS不会自动将数据从内存移动到其有限的硬盘空间。 但是,它确实会发出此警告,并且您(我是说您)负责清除内存中的某些对象。 请注意,如果您的应用程序内存超过某个阈值,iOS将关闭您的应用程序。 […]