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/
现在在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/
相关文章推荐
- Microsoft Visual SourceSafe 6.0 无法关联项目
- AngularJS 简介
- css中float left与float right的使用说明
- 基于javascript的分页技术
- Bootstrap 全局css样式布局之 栅格系统
- JavaScript 代码性能优化总结
- CSS的active伪类
- JS实现浏览器状态栏显示时间的方法
- 内容显示在HTML页面底端的一些处理方式
- 纯CSS代码实现各类气球泡泡对话框效果
- HDU 5487 Difference of Languages
- jQuery效果之级联下拉框
- CSS Border高级使用实例分享(三角等形状)
- JavaScript模块规范之AMD规范和CMD规范
- JavaScript原型对象、原型属性、原型链
- js如何实现高效的数组去重
- jquery each,click ,元素选择器
- 关于2006_CVPR_Beyond Bags of Features Spatial Pyramid Matching for Recognizing Natural Scene Categorie
- js 反向将table内容生成json
- Preference如何增加在activity生命周期监听器