2012-03-16 97 views
0

作为iPhone的新手,我真的很困惑这个概念。我已经构建了一个应用程序,它不像应该那样运行。我有一个TabBar应用程序。 secondViewController本质上是一个我用来收集日常锻炼信息的表单。我已将这个secondViewController嵌入到导航控制器中,以便我可以推送到datePicker视图并返回日期。我也推到pickerView锻炼类型并返回数据。至少这是预期的过程。我使用prepareForSegue来推送选择器视图并返回到secondViewController,它们在每个segue之间传输数据。管理堆栈上的导航视图

我发现正在发生的是,而不是推到选择器视图,并返回到secondViewController我的应用程序似乎以线性方式进步。更确切地说,它似乎推到日期选择器,然后推到secondViewController的新“实例”,然后推到pickerView,然后到另一个新的secondViewController实例。这意味着当我的用户最终触摸保存按钮时,他们必须使用navBar中的后退按钮返回到原始的secondViewController。

[有一个形象加,但不能发布它,因为我在10 :-(有口碑]

我已阅读苹果文档的管理堆栈和层次,但我似乎已经混淆自己更重要的是,我也搜索了答案和教程,但我要么失去了一些东西,或者没有明确的解释应该如何工作,我可以找到任何人都可以告诉我如何推送到pickerView然后返回,或者至少在最后触摸保存按钮时以编程方式返回到原始的secondViewController?

+0

如果没有一些代码,就很难解除您的疑惑...... – Caleb 2012-03-16 19:17:41

+0

感谢Caleb,但是您希望看到什么?我的prepareForSegue代码或头文件中的东西? – Sean 2012-03-16 19:20:29

回答

0

要返回UINavigation Controller中的层次结构,您可以使用

[self.navigationController popViewControllerAnimated:YES]; 
+0

谢谢,但我在哪里使用?它是prepareForSegue的一部分吗? – Sean 2012-03-16 19:24:17

+0

prepareForSegue在新的viewController被压入堆栈之前使用(进入视图)。所以使用popViewControllerAnimated可以随时用来关闭/弹出当前视图控制器。例如,你可以在当前可见的viewControler中使用它来将它弹出视图/离开堆栈。 – Gobot 2012-03-16 19:43:18