2017-05-12 63 views
-1

我有一个带有多个控制器的MainTabBarController。 在我的FirstTabViewController(嵌入UINavigationController)我推送到另一个视图控制器,如:navigationController?.pushViewController(secondViewController, animated: true)解除Modal的视图控制器

在此控制器,我已经表现出一个模式视图控制器,如:

let vc = self.storyboard!.instantiateViewController(withIdentifier: "SomeViewController") as! SomeViewController 

vc.modalPresentationStyle = .overFullScreen 
vc.modalTransitionStyle = .coverVertical 

let nav = UINavigationController(rootViewController: vc) 
self.present(nav, animated: true, completion: nil) 

而在SomeViewController,我已经解雇该控制器这样的:self.dismiss(animated: true),但它自动弹出到根视图控制器(FirstTabViewController)。

我的问题,为什么?

谢谢。

回答

2

目前SomeViewController在您当前的控制器上不在navigationController上。

这么改线:

self.navigationController?.present(nav, animated: true, completion: nil) 

要:

self.present(nav, animated: true, completion: nil) 
+0

感谢。我试过了,但它对我不起作用:/ – Idnext

+0

@Idnext当你这样呈现时,当你关闭'SomeViewController'时发生了什么? –

+0

'FirstTabViewController'出现...像一个popToRoot效果 – Idnext

0

_ = navigationController .popViewController(动画:真)

dismiss(animated: true, completion: nil)