我有一个有很多不同观点的应用。应用程序的入口点是主页,我有2个按钮(请注意主页嵌入在导航控制器中)。每个按钮都会显示一个新的视图堆栈,我尝试将这些堆栈的第一个视图嵌入到导航控制器中,但是当我在主页上按下一个导致新堆栈的按钮时,应用程序崩溃给了我一个&#34 ;由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:'不支持推送导航控制器'"信息。所以我避免将堆栈嵌入到导航控制器中。当我在堆栈的最后一个视图中按下保存按钮时会发生问题。在那里我做了通常的
self.navigationController?.popToViewController(firstViewController, animated: true)
这不起作用,我被发送到firstViewController,但导航栏按钮不显示,背景为黑色,没有任何显示。但是,如果我popToRootViewController,它的工作原理。干杯!
答案 0 :(得分:0)
好吧我现在感到愚蠢,我意识到我的按钮和视图控制器之间的分段是推送段。现在我将两个堆栈的第一个视图控制器嵌入到导航控制器中,并将我的segues更改为模态segue。通过这样做,我能够使用popToRootViewController而不是popToView控制器......现在我的保存按钮返回到我想要显示的视图控制器,一切正常。