首页 理论教育 解决视图在应用中消失的问题

解决视图在应用中消失的问题

时间:2023-06-23 理论教育 版权反馈
【摘要】:当视图控制器的view已经从可视的视图层级中移除时,系统将会调用viewDidDisappear(_:)方法。在UIViewController的生命周期中,viewDidDisappear(_:)会被多次调用,开发者要注意在该方法中移除或隐藏的视图或控件需要在其他方法中添加或展示出来。如果是通过导航控制器返回到上一级页面,那么当前的视图控制器将会被释放,系统会调用其deinit方法。

解决视图在应用中消失的问题

视图控制器的view从可视的视图层级中移除并且还未配置过移除动画之前,系统将会调用viewWillDisappear(_:)方法。在该方法中,开发者可以对即将消失的view进行一些操作,例如对view中的控件放弃第一响应者状态(UITextView、UITextField等),或是还原在viewWillAppear(_:)中改变的状态栏样式。如果覆写了此方法,需要调用父类的viewWillDisappear(_:)。在UIViewController的生命周期中,viewWillDisappear(_:)会被多次调用,开发者要注意在该方法中改变的状态需要在其他方法再重置回来。

当视图控制器的view已经从可视的视图层级中移除时,系统将会调用viewDidDisappear(_:)方法。在该方法中,开发者可以对已经消失的view进行一些操作,例如移除或隐藏view下的视图或控件。如果覆写了此方法,需要调用父类的viewDidDisappear(_:)。在UIViewController的生命周期中,viewDidDisappear(_:)会被多次调用,开发者要注意在该方法中移除或隐藏的视图或控件需要在其他方法中添加或展示出来。

如果是通过导航控制器返回到上一级页面,那么当前的视图控制器将会被释放,系统会调用其deinit方法。开发者可以覆写这个方法,在这个方法中执行一些资源释放的操作。(www.xing528.com)

至此,整个视图控制器的生命周期的相关内容已经讲述完毕,开发者在开发时需要记住每个生命周期方法的特性,在合适的方法中执行相应的操作,避免产生错误

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈