寻找从嵌入在容器视图中的viewcontroller(VC2)执行segue的解决方案,并将其替换为保持VC2大小相同的下一个viewcontroller(VC3)。
我继续按照这个设置控制器,这正是我正在寻找的:
Container view segue to same size view controller
我使用故事板中的当前上下文模式或以编程方式将segue从VC2设置为VC3为Modal segue,但VC3仍然加载全屏
感谢
答案 0 :(得分:0)
在VC2的viewDidLoad中添加以下内容:
definesPresentationContext = true
它不起作用的原因是,当您将segue设置为currentcontext时,它会在视图控制器堆栈中搜索以将definePresentationContext设置为true的视图控制器。它找到的视图控制器就是被替换的视图控制器。
此处的更多信息:https://developer.apple.com/documentation/uikit/uiviewcontroller/1621456-definespresentationcontext
如果找不到带有definePresentationContext = true的视图控制器,则VC3将显示在窗口中。这就是为什么它仍然是全屏的。
同样之所以要在导航堆栈上工作,是因为导航控制器是唯一默认情况下具有definePresentationContext = true的视图控制器