解除viewController重置呈现navigationController

时间:2017-03-08 20:18:23

标签: ios swift uinavigationcontroller presentviewcontroller

我有一个UINavigation控制器。 viewController的内容如下

[RestaurantViewController, MenuViewController, ProductViewController]

在ProductViewController中我调用

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

这将按预期显示视图控制器。现在当我从sideViewController中调用self.dismiss / self.presentingViewController.dismiss时,原始的NavigationController重置为

[RestaurantViewController]

这是为什么?我只是想解雇并返回到呈现的viewController

1 个答案:

答案 0 :(得分:0)

为什么不使用

从ProductViewController呈现控制器
self.present(sideViewController, animated:true, completion:nil)

然后解雇

self.dismiss(animated: true , completion: nil)

除此之外,可能会有很多事情可能导致您的问题。如果你想在sideViewController上使用导航控制器,那么创建一个导航控制器并将sideViewController设置为rootviewcontroller并显示导航控制器。

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