【发布时间】:2016-09-23 11:02:27
【问题描述】:
我正在使用故事板中的直接导航 segue 或从代码中调用 segue 打开一个 navigationController,但仍然在故事板上创建。
例子:
self.performSegue(withIdentifier: "addNew", sender: nil)
然后通过模态转换打开一个导航控制器。然后 NC 有几个视图控制器,它们上面都有关闭按钮,当我点击它时,它会使用以下方法关闭 NC:
self.navigationController?.dismiss(animated: true, completion: nil)
但之后当我在 TabbarController 上的不同 ViewController 之间切换或使用推送视图打开其他视图时,我得到:
Unbalanced calls to begin/end appearance transitions for
而且打开视图上的 viewWillAppear 也不会被调用。所以谁能告诉我我是否正确关闭了 NC 或者是否有其他方法可以防止错误。
编辑1: 将结束通话从 controller.navigationController?.dismiss(animated: true, completion: nil)
到 self.navigationController?.dismiss(animated: true, completion: nil) 只是为了让问题更容易。
也累了:
self.dismiss(animated: true, completion:nil)
编辑2: 从 UITabbarController 上的 NC 上的 VC 打开一个 NC 是不是很糟糕,或者将 NavigationControllers 作为 TabbarController 上的选项卡已经很糟糕了?
【问题讨论】:
-
self.navigationContro...... -
@Oleg Gordiichuk 不这么认为,因为如果我从不打电话给其他 NC,就不会出现问题
标签: ios swift uinavigationcontroller