【发布时间】:2012-01-08 22:52:56
【问题描述】:
以存储食谱和配料的简单应用为例。应用程序应允许添加、删除和编辑(只需重命名)配方。对于每个配方,可以添加、删除和编辑成分(名称和其他一些基本细节)。每种成分还有一些其他无法显示的细节。
这显然看起来是分层的,所以我从 UINavigationController 开始。我首先显示一个食谱列表,它允许深入了解成分,并深入了解成分的详细信息。
但似乎没有一种简单的方法可以提供此功能以及也添加/编辑/删除功能。进入顶级食谱屏幕。我有一个“位置”来放置一个按钮(导航项的右侧位于屏幕顶部 - 左侧将用于“返回”按钮)。如果我将此设置为“添加”按钮,那么用户如何重命名现有配方?如果它是一个“编辑”按钮,那么我可以显示删除图标,并且可能选择一个配方显示一个屏幕来更改名称(而不是深入到成分),但现在我无法添加新配方.
我考虑过使用底部工具栏,但是
a) 一个简单的按钮会占用大量空间
b) 如果工具栏被添加到导航控制器中的视图中,那么它会被添加到导航层次结构中的所有视图中。这意味着该工具栏中的操作不会改变(例如 Apple 的电子邮件应用程序,其中工具栏始终包含“撰写”按钮,无论您在导航层次结构中的哪个位置)。它似乎处于“更高级别”,并且与当前视图无关。
这里有一个标准模式可以观察吗?以及任何设计良好的应用程序示例,其中包括数据的分层显示,能够在所有级别添加/编辑/删除?
【问题讨论】:
标签: iphone cocoa-touch design-patterns user-interface uinavigationcontroller