在segues之后弹出或删除模态

时间:2016-10-12 19:51:10

标签: ios swift segue

我在故事板中有3个视图控制器。 VC1通过segue连接到VC2,VC3通过它连接到VC2。使用“self.performSegueWithIdentifier”在IBAction按钮单击中实现segue。 VC2和VC3具有半透明背景,并以模态呈现当前上下文

我试图找出一旦VC3出现后如何从视图堆栈中删除VC1。我没有任何复杂的代码。请参阅图片链接以进一步解释问题。

enter image description here

2 个答案:

答案 0 :(得分:0)

我查看了您上传的图片。如果两个或所有三个VC同时可见,那么为什么使用UIViewControllers而不是UIViews?如果它看起来像图像那么应该只有1个UIViewController维护一切。你使用VC的所有内容应该只是普通的UIViews。当用户点击下一个时,实例化视图并在屏幕上设置动画以模拟下一页动画。让多个UIViewControllers可见且活跃是非常不正统的,不推荐使用。

如果你有一个很好的理由可以使用多个可见VC,我建议让VC1监听一个可以由VC3或任何相关类发送的NSNotification,告诉VC1解雇自己。

答案 1 :(得分:0)

为了完全控制VC1,VC2和VC3之间的转换,我建议使用容器视图控制器。

特别是,在呈现VC3时,您可以从视图层次结构中删除VC1的视图。

您可以找到有关实现容器视图控制器here的更多信息。