UIViewController

UIViewController


UIViewController的继承关系



        UIViewController是继承于UIResponder(UIResponder 这个类定义了很多用来处理响应和时间处理的类)。UIViewController在UIKit中主要功能是用于控制画面的切换,其中的view属性(UIView类型)管理整个画面的外观。

iPhone App开发时UIViewController不是必不可少,下面的程序直接加载在AppDelegate.m文件的window上。

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // Override point for customization after application launch.

    // 设置背景颜色

    self.window.backgroundColor = [UIColor colorWithRed:200.0 green:0.0 blue:200.0 alpha:1.0];

    // window设置为app的主window并且可见

    [self.window makeKeyAndVisible];

    // 内存管理

    [_window release];

    // UIView  代表屏幕上的一块矩形区域

    //所有空间类的基类

    //规定了所有控件的基本行为和属性

    UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 375, 300)];

    view.backgroundColor = [UIColor purpleColor];

    // view加到 windiw

    [self.window addSubview:view];

    [view release];

但是,像上述这样实现画面外观的切换,如果同一个画面中实际上包含多个画面的控件,代码看起来将非常凌乱。如果能将不同外观的画面进行整体的切换显然更合理,UIViewController正是用于实现这种画面切换方式的。

UIViewController的创建

UIViewController使用时需要先创建一个子类,并在AppDelegate.m中声明rootViewController为UIViewController子类的对象

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // Override point for customization after application launch.

    self.window.backgroundColor = [UIColor whiteColor];

    [self.window makeKeyAndVisible];

    

    // UIViewController

    // 1.UIViewController的一个对象代表一个页面,负责处理一部分功能(登录页面,注册页面,找回密码页面......是不同的viewController)

    // 2. UIviewController是一个抽象类,不能直接使用如果要使用需要创建它的子类才能使用

    RootViewController *rootVC = [[RootViewController alloc]init];

    //window设置一个根视图控制器,作为启动之后的默认显示的界面

    self.window.rootViewController = rootVC;

    [rootVC release];

    [_window release];

    return YES;

}

UIViewController的生命周期

1.初始化方法:init,initWithCoder;

2.加载controller's view:loadView: controller.view=nil; viewDidLoad: controller.view=view;

3.当收到didREceiveMemoryWarning的时候会调用viewWillUnload,viewDidUnload;

4.dealloc:释放资源(ARC可以忽略)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值