iOS开发 ~应用程序设计理念:视图控制器(UIViewController)、视图(UIView)

应用程序设计理念:视图控制器(UIViewController)、视图(UIView)

利用视图控制器(底层)管理视图(外观),一对一

     1.视图的作用:负责显示的外观

     2.视图控制器的作用:创建界面、管理视图的生命周期

     3.UIViewController的UIView关系:系统的UIViewController中天生自带一个视图,UIView通过self.view属性来访问控制器自带的这个视图

     4.viewDidLoad方法:创建视图时会自动调用,而且只被调用一次,有关视图的初始化工作都会放在这个方法中

     5.使用VC的步骤: 

               step1:编写一个类,继承自UIViewController

               step2:重写类中的viewDidLoad方法,创建界面内容

               step3:在didFinishLaunching方法中,创建window的实例,创建vc的实例,将vc设置为window的rootViewController(根vc),显示window

实际操作如下:

1.创建控制器

在AppDelegate.m中

#import "AppDelegate.h"

#import "ViewController.h"

@implementation AppDelegate

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

{

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

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

    self.window.backgroundColor=[UIColor greenColor];

    //1.创建控制器的实例  myVC自带一个视图

    ViewController* myVC=[[ViewController alloc]init];

    //2.将控制器设置为window的根视图控制器

    self.window.rootViewController=myVC;

    //self.window.rootViewController=[ViewController new];

    [self.window makeKeyAndVisible];

    return YES;

}

2.视图控制器viewDidLoad方法

     1).控制器拥有对其自带的视图的生命周期(创建--->销毁)管理权

     2).在视图的生命周期的第一个阶段就是执行viewDidLoad方法

     3).作用:用于创建视图,如:初始化界面、创建界面的显示元素

     4).特点:在整个生命周期中,只会被执行一次

例:

在 ViewController.m中

(自己创建的类,继承了UIViewController父类方法,并重写了viewDidLoad方法)

#import "ViewController.h"

@interface  ViewController ()

@end

 

@implementation ViewController

//控制器拥有对其自带的视图的生命周期(创建--->销毁)管理权

//在视图的生命周期的第一个阶段就是执行viewDidLoad方法

//作用:用于创建视图,如:初始化界面、创建界面的显示元素

//特点:在整个生命周期中,只会被执行一次

- (void)viewDidLoad

{

    [super viewDidLoad];

    //设计view

    UILabel *label=[[UILabel alloc]init];

    label.frame=CGRectMake(110, 200, 100, 40);

    label.text=@"HelloWlord";

    label.textColor=[UIColor redColor];

 

    //添加到控制器自带的那个视图里面

    [self.view addSubview:label];

}

@end

效果如下:

 

posted @ 2015-12-16 10:13  yhj1787354782  阅读(206)  评论(0编辑  收藏  举报