多个ViewController - 最佳方法

时间:2011-06-30 15:40:13

标签: iphone ipad views uisplitviewcontroller viewcontroller

我有一个非常大的表单可以在我的ipad应用程序中构建,我注意到要遵循哪种方法(创建多个视图或多个viewcontrollers之间)。好吧,我已经决定在逻辑部分中拆分,所以我想使用带有根的splitviewcontroller(带有部分的tableviewcontroller)和每个部分的multipleviecontrollers。当用户在tableview中选择一行时,我将显示相应的viewcontroller。我在app_delegate中为每个viewcontroller保存一个引用,app_delegate也负责更改viewcontrollers。这是最好的方法吗?还有其他方法可以遵循吗?关于多视图我想将多个视图放在同一个xib文件中,然后选择基于标记作为用户点击rootviewcontroller的tableview中的行。

提前致谢。抱歉我的英语不好..学习!

2 个答案:

答案 0 :(得分:1)

我将在主题上说明这一点:目前,如果您没有使用Apple现有的某个类,例如UISplitViewController,则同时在屏幕上显示多个视图控制器可能会出现问题。

主要问题是视图控制器想要响应的重要事件(旋转事件等)不会传递给它们。这不是一个巨大的痛苦,它只是需要考虑的事情 - 你通常会创建自己的父视图控制器,可以将这些事件传递给它的孩子。

现在,您正在使用拆分视图控制器,所以在这方面一切都很好。拆分视图控制器中的详细信息和主控制器没有提供相互通信的方法,但Apple建议您使用标准委派模式。如果您的应用程序非常简单,那么您的应用代理肯定会像现在一样发生。

如果你只针对iOS 5,那么同时有一些与屏幕上的多个控制器相关的更改,但由于NDA,我不能在这里讨论它们。你应该去Apple的开发者论坛(devforums.apple.com)了解更多。

答案 1 :(得分:0)

听起来我正在尝试和你做同样的事情(这里的大型保险表格,你的项目怎么样?)不幸的是我不能帮助你,因为你有点领先于我。通过点击我的UITableViewController中的8行,我可以在8个细节视图之间来回切换,而无需在任何地方保持对当前或前一个的引用。我输入各种TextFields的数据保持不变。

我目前每个详细信息视图都有一个xxxViewController.h / .m和相应的.xib文件。这是一个非常多的代码,但我没有看到任何其他方法来做到这一点。现在我遇到一个问题,让我的按钮按下处理程序开火。此外,我仍然需要在这些屏幕后面放置一个数据库。

你能克服你的问题吗?

谢谢,

杰夫在阿拉巴马州