zoukankan      html  css  js  c++  java
  • 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

    效果如下:

  • 相关阅读:
    推荐几个不错的console调试技巧
    JS字符串截取函数slice(),substring(),substr()的区别
    ES6入门基础
    setTimeout的小尴尬
    Javascript自定义事件功能与用法实例分析
    JavaScript中函数定义的三种方法
    数组方法
    数组选择排序
    数组冒泡排序
    this指向问题(1)
  • 原文地址:https://www.cnblogs.com/yhj1787354782/p/5050262.html
Copyright © 2011-2022 走看看