view的操作在loadView还是viewDidLoad

2018-01-08  本文已影响0人  库机戴娃

本文包含对这篇文章的总结与思考loadView vs viewDidLoad FOR PROGRAMATIC UI SETUP

ViewController的生命周期中各方法执行流程如下:init—>loadView—>viewDidLoad—>viewWillAppear—>viewDidAppear—>viewWillDisappear—>viewDidDisappear—>viewWillUnload->viewDidUnload—>dealloc

loadView和viewDidLoad的区别就是,loadView时view还没有生成,viewDidLoad时,view已经生成了,loadView只会被调用一次,而viewDidLoad可能会被调用多次(View可能会被多次加载)

参考Apple文档中的说法:

If you prefer to create views programmatically, instead of using a storyboard, you do so by overriding your view controller’s loadView method. Your implementation of this method should do the following:

  1. Create a root view object. …

  2. Create additional subviews and add them to the root view.

    For each view, you should:

    1. Create and initialize the view.
    2. Add the view to a parent view using the addSubview: method.
  3. If you are using auto layout, assign sufficient constraints to each of the views you just created to control the position and size of your views. Otherwise, …

  4. Assign the root view to the view property of your view controller.

UIViewController:

If you cannot define your views in a storyboard or a nib file, override the loadView method to manually instantiate a view hierarchy and assign it to the view property.

You can override [the loadView] method in order to create your views manually. If you choose to do so, assign the root view of your view hierarchy to the view property.

If you want to perform any additional initialization of your views, do so in the viewDidLoad method.

对上述文档的总结:

上一篇 下一篇

猜你喜欢

热点阅读