导航堆栈不会更新,从 GMSAutocompleteResultsViewController 继续

Navigation stack will not be updated, segue from GMSAutocompleteResultsViewController

我在通过 pushViewController 转至现有 UIViewcontroller 时遇到问题。

当我点击 resultsViewController 中的位置时,我希望转至 MainVC,但出现错误:

pushViewController:animated:在现有过渡或演示发生时调用;导航堆栈将不会更新。

我该如何解决这个问题,并过渡到 MainVC?

两件事:

  1. 确保您 "doubling up" 不在导航中。如果您使用 Segue 转换到另一个视图控制器,请不要 also 调用 .pushViewController()present().

  2. 了解pushpresent的区别。

在你的情况下,它似乎(根据你的描述和你的屏幕截图)MainVC 是你的 NavController 的根 VC,并且 Segue 已经 pushed SearchVC 到导航堆栈。如果SearchVC "slides in from the right" 几乎可以肯定是这样。

如果您已一个VC推入导航堆栈,那么您想弹出它离开堆栈popViewController(animated: Bool)。那将 "slide the previous VC back in from the left".

在您的 goToVc() 函数中,您正在创建 MainVCnew 实例并尝试将其压入堆栈。