zoukankan      html  css  js  c++  java
  • Storyboard & XIB 自己的理解

    //1.storyboard的加载方式

        //(1)

        //此处bundle:nil 等价于 [NSBundle mainBundle]

     //    SecondViewController *secondVc = [[UIStoryboard storyboardWithName:@"Main" bundle:nil]instantiateViewControllerWithIdentifier:@"Second"];
    
        //    SecondViewController *secondVc = [[UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]]instantiateViewControllerWithIdentifier:@"Second"];

        //(2)

    //SecondViewController *secondVc = [[UIStoryboard storyboardWithName:@"SecondSB" bundle:nil]instantiateViewControllerWithIdentifier:@"Second"];

        //(3)

    //    SecondViewController *secondVc = [[UIStoryboard storyboardWithName:@"SecondSB" bundle:nil]instantiateInitialViewController];

        //2.与控制器同名的XIB文件 SecondViewController.xib init或initWithNibName加载

       

     //(1)
    
        //    SecondViewController *secondVc = [[SecondViewController alloc]init];
    
        //(2)
    
        //    SecondViewController *secondVc = [[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];

        //3.与控制器不同名的XIB文件 View.xib loadNibNamed加载控制器的view

        /*

         在创建控制器的时候直接指定要加载xib作为控制器的view,名称不相干

         > 需要修改xib文件的fileOwner进行关联

         > 需要将fileOwner里面的view指向xib里面的view

         */

       

     //(1)initWithNibName---注重file owner
    
        SecondViewController *secondVc = [[SecondViewController alloc]initWithNibName:@"Second" bundle:nil];
    
        //(2)
    
        //    SecondViewController *secondVc = [[SecondViewController alloc]init];
    
        //    secondVc.view = [[[NSBundle mainBundle]loadNibNamed:@"SecondViewController" owner:nil options:nil] lastObject];

        //4.与控制器不同名的XIB文件 删除View,创建控制器  loadNibNamed---注重xib中内容

      

      //    SecondViewController *secondVc = [[[NSBundle mainBundle]loadNibNamed:@"SecondVC" owner:nil options:nil] lastObject];
  • 相关阅读:
    josn类库引用
    WPF圆角按钮
    C#实现某一属性值变化时触发事件 Form1_changeEvent是对应的事件
    C#winform生成安装包
    特性
    反射可以动态调用对象(一般是类)的名称,属性,方法等。具体见下。重要
    原子操作 和Inerlocked 常用于多线程同步
    spingboot 配置多个数据源报错
    Address already in use: JVM_Bind 端口被占用的几个解决办法
    数据库问题(一)
  • 原文地址:https://www.cnblogs.com/guchunli/p/6233956.html
Copyright © 2011-2022 走看看