视图控制器总结

 

 视图控制器的基本概念

  //真正开发中不会将所有控件写在窗口视图上

    //而是写在视图控制器自带的视图上

    //这样的代码便于维护和修改

    //层次结构:屏幕-->窗口-->视图控制器(自带的UIView视图)-->任意类型的控件都可以添加到这个自带的视图上

    //视图控制器UIViewController 相当于一个容器 看不到摸不着 窗口上显示的只是视图控制器自带的视图内容

    //UIViewController 是所有视图控制器(系统提供的视图控制器、自定义的视图控制器)的父类

    //窗口上同一时刻 只能显示一个视图控制器自带的视图内容

    

    //[self.window addSubview:label];

 

 

 

 

视图控制器的生命周期

 

    //如果子视图控制器对象创建成全局的 那么这个对象初始化就写在viewDidLoad方法中 这样就能确保这个子视图控制器对象 在当前类中是唯一的

 

//viewDidLoad方法只要视图控制器对象被创建 viewDidLoad方法就不会再次被调用

    //只有视图控制器对象首次创建的时候调用一次

 

//视图将要显示出来的时候调用该方法

 //在视图将要出现之前(将视图显示给用户之间)可以对视图上的控件的布局进行修改 也可以对视图上显示的数据进行修改

-(void)viewWillAppear:(BOOL)animated;

 

 

视图控制器生命周期方法的调用顺序【重点】

//initWithNibName ----> loadView ---->viewDidLoad -----> viewWillAppear -----> viewDidAppear -----> viewWillDisappear ---->viewDidDisappear

 

//addSubView 和 removeFromSuperView 结合使用

 

 

模态视图

 

    // 模态视图 视图切换的一种方式

    //新的视图控制器 会将原有的视图控制器从窗口上推出  将新的视图控制器上的视图显示在窗口上 然后原有的视图控制器在内存中等候

    //如果想要将原有的视图控制器上的视图显示在窗口上 那么原有视图控制器就将新的视图控制器从窗口上推出  这样就能确保了窗口上时刻保持一个视图控制器

//而addSubView方法 进行视图切换

    //同一时刻窗口上可能存在多个视图控制器 叠加存在

 

 

    //界面切换的方法 presentViewController:

    /*

     1、将要跳转过去的视图控制器对象指针

     2、是否具有动画效果  一般时候设置成YES 调用该方法自带的动画效果 自下向上推出

     3、动画效果结束以后 是否进行其他操作 如果进行其他操作此处就是一个block语句块 否则此处设置值为nil

     */

    [self presentViewController:next animated:YES completion:nil];

 

 

 

 

posted @ 2015-08-23 22:12  BN笨的很想飞  阅读(198)  评论(0编辑  收藏  举报