zoukankan      html  css  js  c++  java
  • 步步入佳境---UI入门(3) --单视图控制器

    视图控制器特点
    //1,抽象  视觉上没有效果
    //2,负责控制视图的显示方式
    //3,负责通知视图的显示内容
    //4,ios平台赋予的,收到内存警告和检测设备旋转
    @interface CHViewController : UIViewController
    //@property(nonatomic,retain)UIView *view;
    //当使用访问器访问该视图控制器的根视图时,如果该视图控制器的根视图为空(没有使用设置器进行赋值过..),那么该视图控制器对象会自动收到消息-loadView..[view loadView],否则会直接返回该视图控制器的根视图...;
    @end


    //新建的视图控制器一定是继承于UIViewController的,或者是他的子类...
    //因为这是一个视图控制器
    -(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {
        //一定要对super对象发送消息,目的是为了调用父类的实现方法
        if (self= [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])
        {
            //新建类的自定义初始化方法..
            self.title=@"haha";
        }
        //返回初始化结果
        return self;
    }
    -(void)dealloc
    {
          mutableArray=nil;
        self.title=nil;
    }
    -(void)loadView
    {
        NSLog(@"%s",__FUNCTION__);
        [super loadView];//父视图加载之后,view就不会是空了
        NSLog(@"%@",self.view);//如果view为空就会执行loadView.如果view为空就会陷入死循环
    //[super loadView];
    }
    //根视图完成加载
    - (void)viewDidLoad
    {
         NSLog(@"%s",__FUNCTION__);
        [super viewDidLoad];
        mutableArray=[NSMutableArray new];
        // Do any additional setup after loading the view, typically from a nib.
    }

    //控制器实例对象收到内存警告...
    //当控制器实例对象收到内存警告时,控制器实例对象会自动对自身的根视图赋值为空,相当于执行了self.view=nil;
    - (void)didReceiveMemoryWarning//自动将根视图赋值为空,为了释放内存//但是特殊情况是视图正在显示的时候就不会赋值为空
    {
         NSLog(@"%s",__FUNCTION__);
        [super didReceiveMemoryWarning];
         mutableArray =nil;
        // Dispose of any resources that can be recreated.
    }
    //////////////////////////以上为第一层循环

    //以下为第二层循环
    -(void)viewWillAppear:(BOOL)animated
    {
        NSLog(@"----------%s",__FUNCTION__);
        [super viewWillAppear:animated];
    }
    -(void)viewDidAppear:(BOOL)animated
    {
     NSLog(@"%s",__FUNCTION__);
        [super viewDidAppear:animated];
    }
    -(void)viewWillDisappear:(BOOL)animated
    {
     NSLog(@"%s",__FUNCTION__);
        [super viewWillDisappear:animated];
    }
    -(void)viewDidDisappear:(BOOL)animated
    {
     NSLog(@"%s",__FUNCTION__);
        [super viewDidDisappear:animated];
    }
    @end

    视图功能:显示视图控制器通知它显示的内容,ios赋予它响应用户交互,承载动画

    每个view都有一个tag属性.

    [self.view viewWithtag:int];tag默认都为0.

    UIWindow是self.view的父view.

    多态就是多种状态

  • 相关阅读:
    创建用户自定义函数 SQL
    sql with as 用法
    将string转为同名类名,方法名。(c#反射)
    linq 实现对象映射
    sql 游标
    C#编程总结(六)异步编程
    线程加锁解锁,用于循环条件不确定大小
    滚动条随代码滚动
    C# 代码小技巧
    reload方法
  • 原文地址:https://www.cnblogs.com/huntaiji/p/3421003.html
Copyright © 2011-2022 走看看