Xcode7 beta
中有一个名为Storyboard Reference
的新控件。下面是它的形象。
它的描述为
为外部故事板中的视图控制器提供占位符。连接到此占位符的Segues将在运行时实例化引用的视图控制器。
所以问题是
答案 0 :(得分:49)
更新(2016年1月6日):我只想快速提一下,使用Storyboard引用非常简单,它将帮助您更多地使用Storyboard干净,可维护的方式。 一个很好的用例就是例如带有多个标签的UITabBarController
。只需为每个选项卡创建一个Storyboard,并使用Storyboard引用在Main.Storyboard
链接到那些单独的Storyboard。用法非常简单:在创建Storyboard引用后,您只需要为其指定 filename < / em>要链接到的单个Storyboard,并在该单个Storyboard中设置初始视图控制器。而已! :)
现在接下来是我给@ YogeshSuthar提出的问题的原始答案。
这可用于您在应用中使用多个故事板的情况。到目前为止,您必须以编程方式从其他故事板中实例化视图控制器,现在您可以使用此参考并在故事板中创建您的segue,就像使用来自同一故事板的视图控制器一样
是的,您将当前故事板中的一个视图控制器与另一个故事板中的另一个视图控制器连接起来,您可以在这两个视图控制器之间创建一个segue
是的,这可用于替换以前用于以编程方式从其他故事板实例化视图控制器的代码
[更新至@AlexBasson]故事板参考可以部署到 iOS 8 , OS X 10.10 和 watchOS 1 。< / p>
答案 1 :(得分:33)
其他答案对我的问题是正确的。
我想发布Storyboard Reference
的用法,用于通过segue从另一个故事板打开View控制器,而无需编写任何代码。 :)
NewStoryboard
)。NewStoryboard
。Storyboard ID
(我已经给了newVC
)。
Storyboard Reference
控件。Storyboard Reference
控件并选择Attributes Inspector
。NewStoryboard
。newVC
(您在NewStoryboard
资料板中使用)。Storyboard Reference
。现在它将通过segue打开这个VC而无需编写代码。 :)
答案 2 :(得分:9)
看起来可能不是:/
故事板引用要求应用程序至少定位iOS 9.0,OS X. 10.11,或WatchK的WatchKit 2.0。
来源:watchOS Developer Library: Adding a Reference to Another Storyboard
答案 3 :(得分:4)
- 它适用于较旧的iOS版本(iOS 9之前)吗?
醇>
这是一种解决方法(由Xcode 8和iOS 8.2验证):
答案 4 :(得分:3)
刚刚在iOS 8的Xcode 7中测试了故事板参考,但它失败了。
Illegal Configuration: Storyboard References cannot be the destinations of
relationship segues prior to iOS 9.0
答案 5 :(得分:3)
在Xcode Releases的最后 iOS Developer Library 文档中添加了此注释(当前版本:Xcode 7.2.1):
故事板参考现在可以部署到iOS 8,OS X 10.10和 watchOS 1。
这意味着好消息,但仍记得:
故事板参考不能成为关系的目的地 iOS 9.0之前的segues
因此,如果您了解这两个要点,那么您就可以了:)
答案 6 :(得分:2)
当我们有一个包含太多屏幕和模块的大型应用程序时, 根据模块将故事板划分为多个故事板是一件好事 方便的选择。使用多个故事板时,如果需要 在不同故事板的viewControllers之间连接segue,你可以 使用此控件。如果你正在使用这个控件,不需要像instantiateViewController和pushViewController等那样编写代码。你可以连接segue,执行segue,如果需要,可以使用prepareForSegue。
让我们讨论你的所有问题:
我们应该在哪些情况下使用它? - 我想你已经找到了 你上面的回答。
这用于通过segue连接两个故事板的视图控制器吗? - 是
此方法是否用于替换另一个故事板的VC 编程? - 使用此功能时与编码无关 控制强>
它适用于较旧的iOS版本(iOS 9之前)吗? - 它可能有用,我 没有尝试