iOS - 不同故事板中的容器组件

时间:2016-12-15 05:01:49

标签: ios swift xcode storyboard uicontainerview

我想制作一个容器,它将放在一个故事板中,每个组件视图都在不同的故事板中。例如,Container故事板将位于Home.storyboard中,而组件A和B将分别位于A.storyboard和B.storyboard中。任何人都可以指导我如何在Swift中实现它吗?

enter image description here

在上面的容器中,组件-A和组件-B与主容器一起位于同一故事板中。我想为两个组件创建不同的故事板。

3 个答案:

答案 0 :(得分:6)

您可以使用故事板参考。故事板参考有一个名称,它指向的故事板和该故事板中UIViewController的标识符。

enter image description here

将组件1和组件2移动到单独的故事板。从对象库中拖动storyboard references。将Segue附加到Storyboard参考。将Storyboard的名称赋予每个Storyboard Reference。

enter image description here

通过这种方式,您可以分离故事板

答案 1 :(得分: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的识别:

enter image description here

答案 2 :(得分:0)

最后我得到了解决方案。我们需要将组件重构为新的故事板。

  1. 选择组件A视图控制器
  2. Xcode菜单 - >编辑 - >重构故事板......
  3. 选择一个正确的名称并保存
  4. enter image description here

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

    enter image description here