这是一个明智的应用程序设计吗?

时间:2010-07-28 10:01:43

标签: iphone cocoa-touch uikit

经过大量阅读和许多教程,我现在正在尝试编写我的第一个iPhone应用程序,但已经开始遇到并发症,所以想回到基础并询问我是否已经基本的UI设计正确:

  • MainWindow.xib有一个TabBarController。 TabBarController包含3个NavigationControllers,每个包含一个子类UIViewController(比如说VC1,VC2和VC3)

到目前为止,很简单并且被许多教程所涵盖。但现在我自己的想法接管了,我的不确定性增加了:

  • 这3个视图中的一个应该显示一个数据列表,只需一个导航级别(向下钻取)到详细视图。

那么为什么TabBarController不包含2个UIViewControllers和1个​​UITableViewController,你可能会问我。好吧,因为:

  • 我还想让用户在两种“类型”的数据之间切换(好的比较是“电子邮件输入”和“电子邮件输出”)
  • 用户还应该能够过滤列表(例如,New,Starred,From xyz等)

所以,我已经决定需要一个工具栏。

  • 工具栏包含一个2部分分段控件,用于在数据类型和按钮之间切换,以加载可以定义过滤器的“设置”页面。

因此VC2加载VC2.xib,其中包含以下内容:

  • 视图(包含工具栏)
  • 子类UITableViewController(用于显示我的列表数据)
  • 子类UIViewController(用于显示设置页面)

  • 我当然使用 insertSubview 根据工具栏中的选择调整视图内容

这一切听起来是否合理,或者我的想法中是否存在缺陷或更好地满足我的需求?

我不想在此详细介绍我现在遇到的实际问题。假设我的基本架构看似合理,那就是一个单独的问题。首先,我需要知道,我的基本思想是否正确;)

提前致谢。

1 个答案:

答案 0 :(得分:0)

这是我的想法。设计看起来很不错。我可能会做一些不同的事情。

  1. 在两种不同类型的数据之间切换
  2. 我不知道你是否打算这样做,但你可以定义1 UITableViewController和2个不同的数据源,然后在它们之间切换,而不是定义2个不同的UITableViewController

    1. 设置按钮
    2. 您可以只弹出UIViewController,而不是为设置页面设​​计和加载全新的UIPickerView。 然后调整视图的内容,调用[tableview reloadData]