zoukankan      html  css  js  c++  java
  • 【iOS开发】3.UIViewController

    1.概述

      iOS和相关库的开发大量使用了模型-视图-控制器(MVC)模式。一般而言,MVC是一种策略,用于分离展现(视图)、数据(模型)和业务逻辑(控制器)。确切地讲,模型是简单数据,如Person或Address类。视图负责在屏幕上呈现数据。在iOS开发中,视图是UIView的一个子类。iOS提供了一个特殊类作为UIView的控制器,该类被贴切地命名为UIViewController。

      UIViewController具有两个重要特征:往往与一个XIB文件关联,有一个名为"view"的UIView类型属性。通过创建UIViewController的一个子类,可以得到一个同名XIB文件,可作为视图类使用。默认情况下,当实例化一个UIViewController子类时,会加载一个同名的XIB。XIB中的根UIView将绑定至UIViewController的view属性。

      除在UI布局和逻辑驱动之间提供干净的分离外,iOS还提供了大量UIViewController子类,可与其他UIViewController一起使用(而不是UIView)。

    2.UIViewController的生命周期

    UIViewController控制着view的加载与消失。下面我们就来分析一下UIViewController是如何加载view的。

    1.调用initWithNibName进行初始化

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

    2.创建view调用loadView,如果使用代码创建视图则在loadView方法里进行创建。

    -(void)loadView

    3.view加载完成调用viewDidLoad方法。

    - (void)viewDidLoad 

    4.view将要显示调用viewWillAppear方法

    -(void)viewWillAppear:(BOOL)animated

    5.view可见时调用viewDidAppear

    -(void)viewDidAppear:(BOOL)animated

    6.view翻转调用shouldAutorotate

    -(BOOL)shouldAutorotate

    7.视图将要消失调用viewWillDisappear

    8.视图消失调用viewDidDisappear

    参考:http://www.cnblogs.com/smileevday/archive/2012/03/05/2380916.html 

  • 相关阅读:
    Google官方教程之Selling In-app Products
    In-app Billing 概述
    Android SDK和ADT无法更新的解决办法
    在NGUI中高效优化UIScrollView之UIWrapContent的简介以及使用
    cocos2d-x 3.1 编译脚本android-build.py
    Storm---DirectGroup(直接分组)
    Lucene Spatial构建地理空间索引
    Log4j2日志配置
    Guava缓存使用
    Maven 多套环境配置
  • 原文地址:https://www.cnblogs.com/malinkang/p/3386754.html
Copyright © 2011-2022 走看看