您的位置:首页 > Web前端

Xcode7 之Storybord Reference

2015-10-27 10:47 288 查看
在过去大型项目中,是否想象过同一个storyboard下多个开发者开发时出现版本冲突的问题. 你将开发起来非常困难在同一个storyboard文件上,因为你们每一个都可能点击它造成版本冲突. Now, Xcode7给我们解决了这个问题, 在Xcode7中,我们有一种新的的方式去组织我们的视图在多个storyboard文件,然后通过保持一个关联在他们之间. 让我们来看看一个练习的例子吧. 下载我已近为你们准备好的 example .打开它,然后选择Main.Storyboard,下面的图片展示出来这个storyboard.



现在在Xcode7中我们试着可以将整个storyboard文件切分为3个navigation分支成为3个storyboard文件. 然而,当你试着从一个storyboard文件跳到下一个storyboard文件时,你不得不加载相关联的storyboard文件, 这就需要添加额外的代码到你的项目中去.

Xcode7允许你创建多个storyboard,然后提供了很容易的解决办法来操作它们. 让我们继续往下看, 选中顶部的navigationController和后面两个viewController,



一旦选中之后,打开Xcode7的菜单栏中的Editor,然后选择Refactor to Storyboard (storyboard的反应器)



分配一个名字给这个新的storyboard, 我给他命名为 First.storyboard.



点击Save. 正如你看见的,一个新的storyboard已经被添加到你的项目中, 让我们回到Main.storyboard. 这里, 你将发现下面的object.



这被称作Storyboard Reference 它的确是相关到这个新创建的 First.storyboard 文件,然后替换掉之前选中的三个控制器.最爽的部分是你双击这个storyboard Reference,Xcode7 会帮你打开相关联的storyboard. 在这种方式下,你能够很容易的导航到不同的storyboard同时很好地控制app的流程. 在运行的时候,当指向Storyboard Referencesegue的segue被执行的时候,相关联storyboard的initial viewController被加载.

可选择地, 你也可以手动创建一个新的storyboard,然后添加一个Storyboard Reference到这个原始的storyboard中,让我们来尝试一下.

创建一个新的storyboard命名为Third.storyboard. 在Main.storyboard文件中,添加一个新的Storyboard Reference从Object Library中. 选中这个Storyboard Reference,打开相关的属性检查器(attributes Inspector), 如下图:



在第一个输入框中, 选择哪一个storyboard你想去关联的(在这个例子中填 Third). Referenced 涉及到目的storyboard一个特定的场景, 如果你让它为空, the initial viewController 将被加载. 最后, bundle field 需要被设置为包含destination storyboard的bundle的名字, 如果不填, 将默认设置为Main.storyboard的bundle.

在第三个storyboard文件中, 你需要添加一个新的viewController,然后让它成为 the initial viewController, 一旦你做完上诉那些, 你就能够运行这个app和导航这个viewController就好像它就是这个Main.storyboard的一部分一样.

因此, 现在你能组织你的storyboard 在多个文件中, 然后在它们每一个之间保持吃一个相关性. 另外, 每一个storyboard 能够被分配给不同的开发人员, 你不需要花跟多的时间去理解这些控制器怎么被连接在一起的, 这个方法是在是太方便了.

翻译至: https://www.invasivecode.com/weblog/storyboard-strong-iboutlet-scene-dock/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: