【问题标题】:iOS - Container components in different storyboardiOS - 不同故事板中的容器组件
【发布时间】:2017-04-30 14:49:16
【问题描述】:

我想制作一个容器,它将位于单个故事板中,并且每个组件视图将位于不同的故事板中。例如,容器故事板将在 Home.storyboard 中,组件 A 和 B 将分别在 A.storyboard 和 B.storyboard 中。谁能指导我如何在 Swift 中实现这一点?

在上面的容器中,组件-A 和组件-B 与主容器在同一个情节提要中。我想为这两个组件创建不同的故事板。

【问题讨论】:

    标签: ios swift xcode storyboard uicontainerview


    【解决方案1】:

    您可以使用故事板参考。 Storyboard Reference 具有它指向的 Storyboard 的名称以及该 Storyboard 中 UIViewController 的标识符。

    将组件 1 和组件 2 移动到单独的情节提要中。从对象库中拖动storyboard references。将 Segue 附加到情节提要参考。为每个 Storyboard Reference 提供 Storyboard 的名称。

    这样你就可以分离Storyboards

    【讨论】:

    • 如何添加这个故事板参考?
    • @SazzadHissainKhan 编辑了更多细节
    【解决方案2】:

    如果你想从另一个故事板初始化控制器,你可以这样做:

        let storyboard = UIStoryboard(name: "Storyboard_B", bundle: nil)
        if let aViewController = storyboard.instantiateViewController(withIdentifier: "AViewController") as? UIViewController {
            //do something about aViewController
        }
    

    在 Storyboard B 中你需要设置 ViewController 的标识:

    【讨论】:

      【解决方案3】:

      我终于找到了解决方案。我们需要将组件重构为新的故事板。

      1. 选择组件 A 视图控制器
      2. Xcode 菜单 -> 编辑器 -> 重构为 Storyboard...
      3. 选择合适的名称并保存

      新的故事板,ComponentA 将仅包含带有初始视图控制器标记的组件视图。新故事板如下所示。

      【讨论】:

        猜你喜欢
        • 2017-05-08
        • 1970-01-01
        • 2016-07-20
        • 2019-12-17
        • 2012-10-11
        • 1970-01-01
        • 1970-01-01
        • 2018-12-09
        • 2013-08-19
        相关资源
        最近更新 更多