导航堆栈不会更新,从 GMSAutocompleteResultsViewController 继续
Navigation stack will not be updated, segue from GMSAutocompleteResultsViewController
我在通过 pushViewController 转至现有 UIViewcontroller
时遇到问题。
当我点击 resultsViewController 中的位置时,我希望转至 MainVC,但出现错误:
pushViewController:animated:在现有过渡或演示发生时调用;导航堆栈将不会更新。
我该如何解决这个问题,并过渡到 MainVC?
两件事:
确保您 "doubling up" 不在导航中。如果您使用 Segue 转换到另一个视图控制器,请不要 also 调用 .pushViewController()
或 present()
.
了解push和present的区别。
在你的情况下,它似乎(根据你的描述和你的屏幕截图)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()
函数中,您正在创建 MainVC
的 new 实例并尝试将其压入堆栈。
我在通过 pushViewController 转至现有 UIViewcontroller
时遇到问题。
当我点击 resultsViewController 中的位置时,我希望转至 MainVC,但出现错误:
pushViewController:animated:在现有过渡或演示发生时调用;导航堆栈将不会更新。
我该如何解决这个问题,并过渡到 MainVC?
两件事:
确保您 "doubling up" 不在导航中。如果您使用 Segue 转换到另一个视图控制器,请不要 also 调用
.pushViewController()
或present()
.了解push和present的区别。
在你的情况下,它似乎(根据你的描述和你的屏幕截图)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()
函数中,您正在创建 MainVC
的 new 实例并尝试将其压入堆栈。