iOS开发:视图生命周期
iOS应用的视图状态分为以下几种
- 在viewcontroller的父类UIViewController中可以看到如下代码,通过重写不同的方法对操作视图渲染。
@available(iOS 2.0, *) public class UIViewController{ public func viewDidLoad() // Called after the view has been loaded. For view controllers created in code, this is after -loadView. For view controllers unarchived from a nib, this is after the view is set. public func viewWillAppear(animated: Bool) // Called when the view is about to made visible. Default does nothing public func viewDidAppear(animated: Bool) // Called when the view has been fully transitioned onto the screen. Default does nothing public func viewWillDisappear(animated: Bool) // Called when the view is dismissed, covered or otherwise hidden. Default does nothing public func viewDidDisappear(animated: Bool) // Called after the view was dismissed, covered or otherwise hidden. Default does nothing public func didReceiveMemoryWarning() // Called when the parent application receives a memory warning. On iOS 6.0 it will no longer clear the view by default. }
-
- viewDidLoad():视图被加载到内存中时调用viewDidLoad方法,在该方法中可对视图上布局进行调整
- viewWillAppear():视图可见前
- viewDidAppear():视图已经可见,页面渲染完成后可以加载一些控件动画
- viewWillDisappear():视图失去焦点前
- viewWillDidDisappear():视图失去焦点后
- didReceiveMemoryWarning():在iOS 6之后可使用此方法释放内存,包括视图控制器中的一些成员变量