• 【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 

  • 相关阅读:
    SVG Stroke属性
    C# 线程同步之排它锁/Monitor监视器类
    在Mac OS X Yosemite 10.10.3 中搭建第一个 ASP.NET 5 Web 项目
    jquery 之 Deferred 使用与实现
    jQuery 之 Callback 实现
    在解决方案中所使用 NuGet 管理软件包依赖
    下载和使用 Open XML PowerTools
    下载和编译 Open XML SDK
    Open XML SDK 在线编程黑客松
    VS2013 解决方案文件结构分析
  • 原文地址:https://www.cnblogs.com/malinkang/p/3386754.html
Copyright © 2020-2023  润新知