Storyboard & XIB 自己的理解

Posted 听风gcl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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];

以上是关于Storyboard & XIB 自己的理解的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 从 .xib 过渡到 Storyboard

swift 之xib自定义view可视化到storyboard

xib和storyboard的区别

如何使用storyboard和xib

.xib文件和.storyboard有什么区别?

iOS开发中xib和Storyboard中需要注意的事项