容器视图segue作为当前上下文中的模态

时间:2017-01-20 20:34:12

标签: ios swift segue modalviewcontroller uicontainerview

寻找从嵌入在容器视图中的viewcontroller(VC2)执行segue的解决方案,并将其替换为保持VC2大小相同的下一个viewcontroller(VC3)。

我继续按照这个设置控制器,这正是我正在寻找的:

Container view segue to same size view controller

我使用故事板中的当前上下文模式或以编程方式将segue从VC2设置为VC3为Modal segue,但VC3仍然加载全屏

感谢

1 个答案:

答案 0 :(得分:0)

在VC2的viewDidLoad中添加以下内容:

definesPresentationContext = true

它不起作用的原因是,当您将segue设置为currentcontext时,它会在视图控制器堆栈中搜索以将definePresentationContext设置为true的视图控制器。它找到的视图控制器就是被替换的视图控制器。

此处的更多信息:https://developer.apple.com/documentation/uikit/uiviewcontroller/1621456-definespresentationcontext

如果找不到带有definePresentationContext = true的视图控制器,则VC3将显示在窗口中。这就是为什么它仍然是全屏的。

同样之所以要在导航堆栈上工作,是因为导航控制器是唯一默认情况下具有definePresentationContext = true的视图控制器