美文网首页
使用多个storyboard

使用多个storyboard

作者: 留几分念想 | 来源:发表于2017-09-07 20:21 被阅读102次

在使用第三方SDK时看到别人项目中使用的StoryBoard很炫,就去网上搜索了一番,发现StoryBoard很有趣,所以就来写篇文章记录一下,一点简单的使用,希望大神们赐教~

下面是我使用的是Xcode版本

image.png

新建项目

我们来新建一个项目,然后点开StoryBoard,大概是这样子的,我标记红圈的部分就是程序的入口,如果把右边的选项去掉,左边的箭头也就没有了。好了,接下来我们来多添加一点东西。

image.png

拆分storyboard

下面是我随便拖的一些视图


image.png

效果是这样的

未命名.gif

可能有些项目要要分模块开发,又或者这么多看起来太臃肿,接下来就要把这些再分一个StoryBoard出来,按住shift键,同时选择后面三个视图控制器之后,点击Editor->Refactor to Storyboard...

image.png

这里命名一个新的名字First.storyboard,点击保存

image.png

你就会发现有两个Storyboard,是这样的。。。

image.png image.png

我们再次运行,是和刚才一样的效果

另一种方式跳转

大家是否还记得Main.storyboard中有两个Itme,点击第一个Item上面的按钮跳转了三次,但是我第二个Itme也想跳转怎么办?
打开First.storyboard,给黄色的页面写一个ID 叫abc

image.png

好了之后我们再回到Main.storyboard

image.png

好了,再运行一下,是不是也可以跳转?

使用代码跳转

第一种:给segue标记个Identifier再用代码触发
我们为storyboard中绿色的视图新建一个类,与绿色的绑定起来


image.png

在拖一个黄色的按钮上去,添加点击事件,在事件添加一句代码

 //执行标识符为abc的Segue的操作
 [self performSegueWithIdentifier:@"abc" sender:self];
image.png

第二种:能过取得storyboard文件里的viewController再用常规方法跳转,先设置storyboard里viewController的标志Storyboard ID,
再用代码这样跳转:

    //通过Storyboard的名字加载 Storyboard
    UIStoryboard * board = [UIStoryboard storyboardWithName:@"First" bundle:nil];
    //通过ViewController在Storyboard中的ID来获取ViewController
    UIViewController * VC = [board instantiateViewControllerWithIdentifier:@"abc"];
    [self.navigationController pushViewController:VC animated:YES];
  //加载本ViewController所在的Storyboard中查找标识符为aaaaaa的ViewController
    UIViewController * vc = [[self storyboard] instantiateViewControllerWithIdentifier:@"aaaaaa"];
    [self.navigationController pushViewController:vc animated:YES];

最后,附上原文地址,感谢作者~

相关文章

  • 7.27

    Storyboard启动流程 默认使用了Storyboard 同一个应用可以使用多个Storyboard Info...

  • 使用多个storyboard

    在使用第三方SDK时看到别人项目中使用的StoryBoard很炫,就去网上搜索了一番,发现StoryBoard很有...

  • iOS 模拟器和真机显示不一样

    可能原因,使用storyboard拖的控制器,然后搞名称时弄了多个版本,所以storyboard也是多个版本,在不...

  • 多个Storyboard

    app中包含有多个Storyboard故事模版集合。 Eg:LaunchScreen.storyboard(启动屏...

  • 无标题文章

    最近项目中,使用Storyboard、AutoLayout开发,某个ViewController中嵌套了多个子Vi...

  • 菜鸟教程——Storyboard、nib、xib

    storyboard是多个xib文件集合的描述文件,也采用xml格式。 那么storyboard与xib比较,区别...

  • 页面切换

    (一)纯代码多页面切换 (二)多个storyboard彼此之间切换 (三)storyboard内部页面的切换 (四...

  • 项目总结-3

    什么时候使用到storyBoard? 描述静态单元格 描述多个控制器的时候 监听TextField的编辑3种方式 ...

  • iOS笔记- Autolayout

    配合Storyboard使用Autolayout 通过Storyboard或者XIB使用进行UI开发相对来说效率会...

  • tabBarController管理多个Storyboard

    self.window = [[UIWindow alloc]initWithFrame:[UIScreen ma...

网友评论

      本文标题:使用多个storyboard

      本文链接:https://www.haomeiwen.com/subject/labijxtx.html