1张图片
作者
描述
即使是中等复杂的应用,很快就变得非常明显,有一个单一的storyboard文件来管理一切很快就变得难以管理。作为解决方案,我们可以使用多个storyboard,并手动实例化视图控制器,而无需编写代码来执行过渡也是非常棒的。
两者的最佳结合可能是可以通过storyboard边界进行连接的segues。Xcode 7(2015年WWDC上宣布)正是这样做的,但似乎这个功能将限于iOS 9。
如果您仍然需要支持iOS 7+,请不用担心,因为现在有Cutaway。这个项目的目标是
- storyboard是真相之所在:关于segue目标的所有信息都直接存储在storyboard文件中。
- 无segue子类继承:任何segue类型都可以链接到不同的storyboard(包括无法子类化的镶嵌segue)。
- 无子视图控制器:在segue中获得的目标视图控制器正是预期的,不会被任何容器包装。
- 透明地支持unwind segues。
Cutaway实现了这些目标,尽管它不是100%面向未来(它在UIStoryboard类中使用了方法交换),但它尽可能地以最不易侵入的方式来实现。一旦您准备好仅迁移到iOS 9,所需要做的就是用原生的storyboard引用替换占位符视图控制器,并重新连接您的segues。