Xcode 中的故事板参考,我们应该在哪里使用它?
Storyboard reference in Xcode, where should we use it?
Xcode7 beta
中有一个名为 Storyboard Reference
的新控件。下面是它的图片。
它的描述为
Provides a placeholder for a view controller in an external storyboard. Segues connected to this placeholder will instantiate the referenced view controller at runtime.
所以问题是
- 我们应该在什么情况下使用它?
- 这是否用于通过 segue 连接两个故事板的视图控制器?
- 此方法是否用于以编程方式替换另一个故事板的 VC?
- 它能在旧的 iOS 版本(iOS 9 之前)上运行吗?
更新(2016 年 1 月 6 日):我只想快速提一下,使用 Storyboard 引用 非常 简单并且即将帮助您以更干净和可维护的方式使用故事板。 它的一个很好的用例是例如具有多个选项卡的 UITabBarController
。只需为每个选项卡创建一个 Storyboard,并在 Main.Storyboard
link 中使用 Storyboard 引用创建那些单独的 Storyboard。 用法非常简单:创建 Storyboard 引用后,您只需为其提供您想要 link 的单个故事板的文件名,并在该单个故事板中设置 初始视图控制器。而已! :)
下面是我给@YogeshSuthar 的问题的原始答案。
这可以用于您在应用中使用多个故事板的情况。直到现在你必须以编程方式从其他故事板实例化视图控制器,现在你可以只使用这个引用并在故事板中创建你的 segue 就像来自同一个故事板的视图控制器一样
是的,您将当前情节提要中的一个视图控制器与不同情节提要中的另一个视图控制器连接起来,您可以在这两者之间创建一个 segue
是的,这可以用来替换以前用于以编程方式从其他故事板实例化视图控制器的代码
[更新@AlexBasson] 故事板引用可以部署到 iOS 8, OS X 10.10 和 观看OS 1.
When we have a big application with too many screens and modules,
Dividing storyboard into multiple storyboards as per modules is a good
and convenient option. While using multiple storyboard, if you need to
connect segue between viewControllers of different storyboard, you can
use this control. If you are using this control, No need to do coding stuffs like instantiateViewController and pushViewController etc. You can just connect the segue, perform the segue and if you need you can use prepareForSegue.
让我们讨论您的所有问题:
我们应该在什么情况下使用它? - 我想你找到了
你上面的答案。
这是用来通过segue连接两个storyboard的view controller吗? - 是
这个方法是用来代替另一个storyboard的VC
以编程方式? - 使用它时与编码无关
控制
它能在旧的 iOS 版本(iOS 9 之前)上运行吗? - 可能有用,我
没试过
故事板参考的使用
嗯,其他答案对我的问题都是正确的。
我想 post Storyboard Reference
的用法,它用于通过 segue 从另一个故事板打开视图控制器,而无需编写任何代码。 :)
步骤
- 首先创建 1 个新的故事板,随意命名(我将其命名为
NewStoryboard
)。
- 将您的视图控制器(或任何视图控制器)放入
NewStoryboard
。
- 给一个
Storyboard ID
(我给了newVC
)。
- 切换回主故事板。
- 将
Storyboard Reference
控件拖放到此情节提要中。
- Select
Storyboard Reference
控件和 select Attributes Inspector
.
- Select 你的新故事板
NewStoryboard
.
- 将参考 ID 提供为
newVC
(您在 NewStoryboard
故事板中使用过)。
- 通过 ViewController 的 segue 连接此
Storyboard Reference
。现在它将通过 segue 打开这个 VC 而无需编写代码。 :)
- 它能在旧的 iOS 版本(iOS 9 之前)上运行吗?
看起来可能不是 :/
Storyboard references required an app targeting at least iOS 9.0, OS X
10.11, or WatchKit 2.0 for watchOS.
来源:watchOS Developer Library: Adding a Reference to Another Storyboard
刚刚在 Xcode 7 和 iOS 8 中测试了故事板参考,但失败了。
Illegal Configuration: Storyboard References cannot be the destinations of
relationship segues prior to iOS 9.0
在上一个 iOS 开发者库 文档中 Xcode Releases 也添加了这条注释(当前版本:Xcode 7.2.1):
Storyboard References may now be deployed to iOS 8, OS X 10.10, and
watchOS 1.
这意味着好消息,但请记住:
Storyboard References cannot be the destinations of relationship
segues prior to iOS 9.0
因此,如果您知道这两个要点,那么您就可以开始了:)
- Will it work on older iOS version(before iOS 9)?
这是一个解决方法(由 Xcode 8 和 iOS 8.2 验证):
- 在选项卡的视图控制器中,添加一个容器视图,其框架
占据整个视图(如有必要,添加约束以执行此操作)。
- 删除自动添加的嵌入式视图控制器
容器视图。
- 创建故事板引用并将嵌入转场从容器视图拖到该引用。
- 如果您还没有,请创建故事板并将故事板引用分配给它。
- 在新的故事板中,您可以通过选择第一个视图控制器来模拟标签栏的外观,并在属性检查器中,在模拟指标 -> 底部栏下,选择要显示的标签栏(例如半透明) .
Xcode7 beta
中有一个名为 Storyboard Reference
的新控件。下面是它的图片。
它的描述为
Provides a placeholder for a view controller in an external storyboard. Segues connected to this placeholder will instantiate the referenced view controller at runtime.
所以问题是
- 我们应该在什么情况下使用它?
- 这是否用于通过 segue 连接两个故事板的视图控制器?
- 此方法是否用于以编程方式替换另一个故事板的 VC?
- 它能在旧的 iOS 版本(iOS 9 之前)上运行吗?
更新(2016 年 1 月 6 日):我只想快速提一下,使用 Storyboard 引用 非常 简单并且即将帮助您以更干净和可维护的方式使用故事板。 它的一个很好的用例是例如具有多个选项卡的 UITabBarController
。只需为每个选项卡创建一个 Storyboard,并在 Main.Storyboard
link 中使用 Storyboard 引用创建那些单独的 Storyboard。 用法非常简单:创建 Storyboard 引用后,您只需为其提供您想要 link 的单个故事板的文件名,并在该单个故事板中设置 初始视图控制器。而已! :)
下面是我给@YogeshSuthar 的问题的原始答案。
这可以用于您在应用中使用多个故事板的情况。直到现在你必须以编程方式从其他故事板实例化视图控制器,现在你可以只使用这个引用并在故事板中创建你的 segue 就像来自同一个故事板的视图控制器一样
是的,您将当前情节提要中的一个视图控制器与不同情节提要中的另一个视图控制器连接起来,您可以在这两者之间创建一个 segue
是的,这可以用来替换以前用于以编程方式从其他故事板实例化视图控制器的代码
[更新@AlexBasson] 故事板引用可以部署到 iOS 8, OS X 10.10 和 观看OS 1.
When we have a big application with too many screens and modules, Dividing storyboard into multiple storyboards as per modules is a good and convenient option. While using multiple storyboard, if you need to connect segue between viewControllers of different storyboard, you can use this control. If you are using this control, No need to do coding stuffs like instantiateViewController and pushViewController etc. You can just connect the segue, perform the segue and if you need you can use prepareForSegue.
让我们讨论您的所有问题:
我们应该在什么情况下使用它? - 我想你找到了 你上面的答案。
这是用来通过segue连接两个storyboard的view controller吗? - 是
这个方法是用来代替另一个storyboard的VC 以编程方式? - 使用它时与编码无关 控制
它能在旧的 iOS 版本(iOS 9 之前)上运行吗? - 可能有用,我 没试过
故事板参考的使用
嗯,其他答案对我的问题都是正确的。
我想 post Storyboard Reference
的用法,它用于通过 segue 从另一个故事板打开视图控制器,而无需编写任何代码。 :)
步骤
- 首先创建 1 个新的故事板,随意命名(我将其命名为
NewStoryboard
)。 - 将您的视图控制器(或任何视图控制器)放入
NewStoryboard
。 - 给一个
Storyboard ID
(我给了newVC
)。
- 切换回主故事板。
- 将
Storyboard Reference
控件拖放到此情节提要中。 - Select
Storyboard Reference
控件和 selectAttributes Inspector
. - Select 你的新故事板
NewStoryboard
. - 将参考 ID 提供为
newVC
(您在NewStoryboard
故事板中使用过)。 - 通过 ViewController 的 segue 连接此
Storyboard Reference
。现在它将通过 segue 打开这个 VC 而无需编写代码。 :)
- 它能在旧的 iOS 版本(iOS 9 之前)上运行吗?
看起来可能不是 :/
Storyboard references required an app targeting at least iOS 9.0, OS X 10.11, or WatchKit 2.0 for watchOS.
来源:watchOS Developer Library: Adding a Reference to Another Storyboard
刚刚在 Xcode 7 和 iOS 8 中测试了故事板参考,但失败了。
Illegal Configuration: Storyboard References cannot be the destinations of
relationship segues prior to iOS 9.0
在上一个 iOS 开发者库 文档中 Xcode Releases 也添加了这条注释(当前版本:Xcode 7.2.1):
Storyboard References may now be deployed to iOS 8, OS X 10.10, and watchOS 1.
这意味着好消息,但请记住:
Storyboard References cannot be the destinations of relationship segues prior to iOS 9.0
因此,如果您知道这两个要点,那么您就可以开始了:)
- Will it work on older iOS version(before iOS 9)?
这是一个解决方法(由 Xcode 8 和 iOS 8.2 验证):
- 在选项卡的视图控制器中,添加一个容器视图,其框架 占据整个视图(如有必要,添加约束以执行此操作)。
- 删除自动添加的嵌入式视图控制器 容器视图。
- 创建故事板引用并将嵌入转场从容器视图拖到该引用。
- 如果您还没有,请创建故事板并将故事板引用分配给它。
- 在新的故事板中,您可以通过选择第一个视图控制器来模拟标签栏的外观,并在属性检查器中,在模拟指标 -> 底部栏下,选择要显示的标签栏(例如半透明) .