【发布时间】:2019-10-07 20:32:48
【问题描述】:
我有一个视图控制器 (VC3),如果通过一个屏幕 (VC1) 访问我想 push,但如果从另一个屏幕访问它模态 ( VC2)。目标视图控制器 (VC3) 位于其自己的故事板上,并嵌入在 UINavigationController 中(我认为这在这里非常重要)。
在 VC1 上的 prepare(for segue) 我有这个:
if let nav = segue.destination as? UINavigationController {
let destinationViewController = nav.topViewController as! LiftsViewController
destinationViewController.delegate = self
}
这以模态方式呈现目标视图控制器 (VC3),这正是我想要的。
在 VC2 中,将通过点击表格视图中的单元格来访问视图控制器 (VC3),因此我希望它推送。但是在 VC2 上的 prepare(for segue) 中,我有与上面相同的代码,因为,好吧,我正在使用 UINavigationController 中的同一个视图控制器。
我已经查看了很多解决推送 vcs 或以模态方式呈现它们的线程,但找不到任何可以回答如何使用同一个 vc 进行这两种操作的内容。
谢谢。
【问题讨论】:
-
您不能将
NavigationController推送到另一个NavigationController -
@MojtabaHosseini,但这实际上并没有帮助。
标签: swift segue uistoryboardsegue