我在通过 pushViewController 转至现有 UIViewcontroller
时遇到问题。
当我点击 resultsViewController 中的位置时,我希望转至 MainVC,但出现错误:
pushViewController:animated:在现有的过渡或演示发生时调用;导航堆栈将不会更新。
我该如何解决这个问题,并过渡到 MainVC?
最佳答案
一些事情:
确保您没有在导航上“加倍”。如果您使用 Segue 转换到另一个 View Controller ,请不要也调用
.pushViewController()
或present()
.了解推送和呈现之间的区别。
在您的情况下,(根据您的描述和屏幕截图)MainVC
是您的 NavController 的根 VC,并且 Segue 已推送 SearchVC
到导航堆栈。如果 SearchVC
“从右侧滑入”,几乎可以肯定是这种情况。
如果你已经push一个 VC 到 Nav Stack 上,那么你想用 popViewController(animated: Bool)
将它pop 离开堆栈>。这将“将之前的 VC 从左侧滑回”。
在您的goToVc()
函数中,您正在创建一个MainVC
的新 实例,并尝试将其压入堆栈。
关于ios - 导航堆栈不会更新,从 GMSAutocompleteResultsViewController 继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47618472/