如何加载到弹出框中的不同视图?

时间:2016-11-07 14:55:35

标签: swift macos nsviewcontroller

我有一些代码可以打开一个显示一些文本的弹出窗口。这是通过动作segue而不是故事板中的实际代码来完成的。有什么办法,我可以通过按下弹出窗口上的按钮加载到另一个视图中加载到另一个视图中吗?我已经尝试过使用另一个动作segue,但它会在我按下的按钮上弹出一个popover到我当前的popover中。谢谢!

1 个答案:

答案 0 :(得分:0)

这种事情不能只用故事板来完成;有些代码是必要的 这是我将如何做到这一点:而不是尝试使用两个单独的弹出窗口,使用一个带有“嵌套”设置的popover。 popover的内容视图控制器将包含Page1ViewControllerPage2ViewController。首次显示时,主控制器将安装第1页的视图。您可以将操作从第1页的按钮直接连接到主控制器,但我建议您使用委托进行此操作。创建类似于Page1ViewControllerDelegate的协议并在主控制器中采用协议,然后在page1ControllerRequestTransition(_:)的委托方法或您选择的任何内容中,只需抓取第1页视图并交换第2页视图你甚至可以让两个视图的大小不同;弹出窗口会自动调整。

哦,不要忘记禁用translatesAutoresizingMaskIntoConstraints并添加适当的约束来修复每个页面视图的四个边。