Xcode中的故事板参考,我们应该在哪里使用它?

Yog*_*har 63 xcode ios xcode7

有一个Xcode7 beta名为as的新控件Storyboard Reference.下面是它的图像.

在此输入图像描述

它的描述如下

为外部故事板中的视图控制器提供占位符.连接到此占位符的Segues将在运行时实例化引用的视图控制器.

所以问题是

  1. 在哪种情况下我们应该使用它?
  2. 这用于通过segue连接两个故事板的视图控制器吗?
  3. 这种方法是用来以编程方式替换另一个故事板的VC吗?
  4. 它适用于较旧的iOS版本(iOS 9之前)吗?

nbu*_*urk 50

更新(2016年1月6日):我只想快速提一下,使用Storyboard引用非常简单,它将帮助您以更加干净和可维护的方式使用Storyboard.一个很好的用例就是例如UITabBarController带有多个标签的用例.只需为每个选项卡创建一个Storyboard,并Main.Storyboard使用Storyboard引用创建指向这些Storyboard的链接.用法非常简单:在创建Storyboard引用之后,您只需要为其指定要链接到的各个Storyboard 的文件名,并在该单个Storyboard中设置初始视图控制器.而已!:)

接下来是我给@ YogeshSuthar的问题的原始答案.

  1. 这可以在您在应用中使用多个故事板的情况下使用.到目前为止,您必须以编程方式从其他故事板中实例化视图控制器,现在您可以使用此参考并在故事板中创建您的segue,就像使用来自同一故事板的视图控制器一样

  2. 是的,您将当前故事板中的一个视图控制器与另一个故事板中的另一个视图控制器连接起来,您可以在这两个视图控制器之间创建一个segue

  3. 是的,这可以用来替换以前用于以编程方式从其他故事板实例化视图控制器的代码

  4. [UPDATE thx to @AlexBasson]故事板引用可以部署到iOS 8,OS X 10.10watchOS 1.

  • 根据Xcode 7 Beta 4发行说明,"故事板引用可以部署到iOS 8,OS X 10.10和watchOS 1".(http://adcdownload.apple.com/Developer_Tools/Xcode_7_beta_4/Xcode_7_beta_4_Release_Notes.pdf) (18认同)
  • 值得注意的是,在iOS8上,Storyboard Reference不能成为一种关系,即从tabbar到view controller (6认同)
  • 替换意味着我们不必编写代码来从不同的故事板中打开VC.那么你的答案是令人满意的,但我还在等待更详细的答案.+1 (2认同)

Yog*_*har 34

故事板参考的用法

其他答案对我的问题是正确的.

我想发布Storyboard Reference用于通过segue从另一个故事板打开View控制器的用法,而无需编写任何代码.:)

脚步

  1. 首先创建一个新的故事板名称,你想要的任何东西(我命名NewStoryboard).
  2. 放置View控制器(或任何视图控制器)NewStoryboard.
  3. 给它一个Storyboard ID(我给了newVC).

在此输入图像描述

  1. 切换回主故事板.
  2. Storyboard Reference在此故事板中拖放控件.
  3. 选择Storyboard Reference控件并选择Attributes Inspector.
  4. 选择新的故事板NewStoryboard.
  5. 提供参考ID newVC(您在NewStoryboard故事板中使用).
  6. Storyboard Reference通过ViewController中的segue 连接它.现在它将通过segue打开这个VC而无需编写代码.:)

在此输入图像描述


小智 9

  1. 它适用于较旧的iOS版本(iOS 9之前)吗?

看起来可能不是:/

故事板引用需要针对watchOS至少定位iOS 9.0,OS X 10.11或WatchKit 2.0的应用.

来源:watchOS开发人员库:添加对另一个故事板的引用

  • 从Xcode 7 Beta 4开始,这已经发生了变化.根据发行说明,"故事板引用可以部署到iOS 8,OS X 10.10和watchOS 1".(http://adcdownload.apple.com/Developer_Tools/Xcode_7_beta_4/Xcode_7_beta_4_Release_Notes.pdf) (13认同)
  • 您可以使用xCode7或最新版本.故事板引用现在可以部署到iOS 8,OS X 10.10和watchOS 1.向后部署的故事板引用可能没有连接到关系segues,也可能不会引用外部包中的故事板.(21275172)https://developer.apple.com/library/tvos/releasenotes/DeveloperTools/RN-Xcode/Chapters/xc7_release_notes.html (3认同)

Nia*_*ang 6

  1. 它适用于较旧的 iOS 版本(iOS 9 之前)吗?

这是一个解决方法(由 Xcode 8 和 iOS 8.2 验证):

  1. 在选项卡的视图控制器中,添加一个容器视图,其框架占据整个视图(如有必要,添加约束来执行此操作)。
  2. 删除由容器视图自动添加的嵌入式视图控制器。
  3. 创建您的故事板参考并将嵌入转场从容器视图拖动到此参考。
  4. 如果您还没有,请创建 Storyboard 并将 Storyboard 引用分配给它。
  5. 在新的 Storyboard 中,您可以通过选择第一个 View Controller 并在 Attributes Inspector 中的 Simulated Metrics -> Bottom Bar 下选择要显示的 Tab Bar(例如半透明)来模拟 Tab Bar 的外观。

截屏