【问题标题】:Is it possible to have 2 view controllers from 2 different storyboards to be active on the screen simultaneously?是否可以让来自 2 个不同故事板的 2 个视图控制器同时在屏幕上处于活动状态?
【发布时间】:2018-10-31 05:06:29
【问题描述】:

我正在尝试开发一些类似于 Uber 应用程序的东西。我必须将 2 个视图控制器保存在单独的故事板中。我需要像在 Uber 中那样在具有 scnview 的视图控制器上拉出一个抽屉。简单来说,以 Uber 为例,我需要一种方法来完成相同的交互,其中 mapViewController 位于一个故事板中,而抽屉的驱动程序详细信息位于另一个故事板中。

【问题讨论】:

  • 您可以使用 storyboard refs 在多个 storyboard 之间分割您的场景。不过,我有一种感觉,您在这里误用了故事板这个词。您实际上是指“场景”而不是“故事板”吗?情节提要是一个文件,而场景是情节提要中的“窗口”(不是真的但是..),通常表示为 UIViewController。如果您的意思是场景,请更新您的问题...答案是使用容器视图。
  • 是的,我的意思是故事板。它们将出现在 2 个不同的文件和存储库中。

标签: ios uiviewcontroller swift4 xcode10


【解决方案1】:

您还可以通过许多其他方式实现此功能,

但您的问题的答案是 - 是的,您可以在屏幕上同时显示多个控制器。

你可以像这样使用ContainerView

并且使用 Storyboard 引用,您可以包含另一个 Storyboard 控制器的 UIViewController。

【讨论】:

  • 有没有办法以编程方式附加情节提要参考?对此很新:)
  • @nTri 实际上没有一个名为 UIContainerView 的类,所以请改进你的答案。 Anika,容器视图是一种 UIView 的策略,可以在代码中实现和/或在 InterfaceBuilder 对象类型 bin 中显示为 UI 对象,这样当拖到场景中时,将创建一些 UIView(一个在新容器中)场景)和嵌入转场。看到这个Apple guide
  • @Smartcat 如果您再次检查,我没有在任何地方使用过单词类..!!
  • 你说的这个“UIContainerView”是什么? “UI”作为前缀是 Apple 保留的,那么您指的是什么 Apple 类或协议或其他内容?这会让人们感到困惑。 InterfaceBuilder 的库窗格有一个“容器视图”。我知道 SO 上还有其他人犯了同样的错误,但让我们纠正一下。
  • 是的,这是真的。谢谢:)
【解决方案2】:

是的,您使用 containerView 可以做到这一点。

第一步:设置storyboard的引用

第 2 步:选择 Embed at above Picture

第 3 步:这是您的第二个故事板,入口点为

第 4 步:这是您的输出

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-16
    • 2012-11-02
    • 2018-03-09
    • 2013-05-24
    • 2013-11-08
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多