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

    效果如下:

  • 相关阅读:
    Winform Timer用法,Invoke在Timer的事件中更新控件状态
    日期字符串格式转换
    Windows服务的创建、安装、卸载
    Oracle更新表字段时内容中含有特殊字符&的解决方法
    MVC无刷新查询,PagedList分页控件使用,导出Excel
    网页抓取解析,使用JQuery选择器进行网页解析
    asp.net webform 自定义分页控件
    if __name__ == "__main__": tf.app.run()
    Python 虚拟机
    paper reading----Xception: Deep Learning with Depthwise Separable Convolutions
  • 原文地址:https://www.cnblogs.com/yhj1787354782/p/5050262.html
Copyright © 2011-2022 走看看