【发布时间】:2017-03-08 20:18:23
【问题描述】:
我有一个 UINavigation 控制器。 viewController内容如下
[RestaurantViewController, MenuViewController, ProductViewController]
在 ProductViewController 我调用
self.navigationController?.present(sideViewController, animated:true, completion:nil)
这将按预期呈现视图控制器。现在,当我从 sideViewController 中调用 self.dismiss/self.presentingViewController.dismiss 时,原来的 NavigationController 会重置为
[RestaurantViewController]
这是为什么?我只想解散并返回到呈现的 viewController
【问题讨论】:
-
在一个干净的小项目中测试,你会发现你描述的行为不正常。因此,您正在做其他事情,导致导航控制器弹出/展开回到 RestaurantViewController。但是您还没有描述那是什么;只有你自己才能知道。
-
问题一定出在控制器被解散后会发生什么。您一定在某个地方调用了
popToRootViewController,或者您正在使用调用此popToRootViewController的某人的库@ -
@matt 你是对的,我调用了一些代码,声明 viewControllers 在 viewWillAppear 函数中被调用,而不是 viewDidLoad 因此正在重置它。谢谢
标签: ios swift uinavigationcontroller presentviewcontroller