使用编辑/添加功能设计分层应用程序

时间:2012-01-08 22:52:57

标签: iphone cocoa-touch design-patterns user-interface uinavigationcontroller

采用一个存储食谱和配料的简单应用程序。应用程序应允许添加,删除和编辑配方(只需重命名)。对于每个配方,可以添加,删除和编辑成分(名称和一些其他基本细节)。每种成分还有一些可以显示的其他细节。

这显然是分层的,所以我从UINavigationController开始。我首先展示一份食谱清单,这些食谱可以深入了解食材,然后深入了解食材的细节。

但似乎没有一种简单的方法可以提供此功能,添加/编辑/删除功能。进入顶级食谱屏幕。我有一个“点”放置一个按钮(导航项的右侧位于屏幕顶部 - 左侧将是“后退”按钮)。如果我将其设为“添加”按钮,那么用户如何重命名现有配方?如果它是一个“编辑”按钮,那么我可以显示删除图标,并可能选择一个配方显示一个屏幕来更改名称(而不是向下钻取到成分),但现在我无法添加新配方

我考虑使用底部工具栏,但

a)这使用了很多不动产的简单按钮

b)如果将工具栏添加到导航控制器中的视图,则会将其添加到导航层次结构中的所有视图。这意味着该工具栏中的操作不会更改(例如Apple的电子邮件应用程序,其中工具栏始终包含“撰写”按钮,无论您在导航层次结构中的哪个位置)。它似乎处于“更高层次”并且与当前观点无关。

这里有一个标准模式可供观察吗?以及精心设计的应用程序的任何示例,其中包括能够在所有级别添加/编辑/删除数据的分层显示?

2 个答案:

答案 0 :(得分:0)

您可以复制“通讯录”应用的设计。

根导航视图有一个右侧栏按钮,用于添加新配方。您有一个表视图,其中列出了以前添加的食谱。点击单元格可以获得有关配方的详细信息。在详细导航视图中,您有一个编辑按钮作为右侧栏按钮。使用编辑时,您可以选择删除配方并更改配料。这会打开一个新的导航视图,其中包含一个新项目右侧栏按钮和表格视图中的成分项列表。

同样,您可以根据需要获得尽可能多的关卡。

层次结构的一个例子:

  1. 配方视图,右侧工具栏项和配方项单元格中有一个添加按钮。点击食谱单元格按下详细视图2.
  2. 配方详细视图,带编辑按钮,用于编辑模式。在编辑模式下,您有一个删除配方按钮和一个推送视图3的ingridients按钮。
  3. 带有添加按钮和ingridient项目单元格的成分视图。点按一个单元格即可推送视图4.
  4. 带有编辑按钮的成分详细视图。等等。
  5. 这将是我的总体想法,但您可以根据具体情况对其进行修改。希望编辑能够澄清一些事情。

答案 1 :(得分:0)

查看Apples示例代码,Core Recipes应用程序。它正是你所描述的。它使用CoreData,是了解它的好方法。

http://developer.apple.com/library/ios/#samplecode/iPhoneCoreDataRecipes/Introduction/Intro.html

更改了iPhone版本的链接