People tend to be unaware of an app’s navigation until it doesn’t meet their expectations. Your job is to implement实现 navigation in a way that supports the structure and purpose of your app without calling attention to itself. Navigation should feel natural and familiar, and shouldn’t dominate支配 the interface or draw focus away from content. In iOS, there are three main styles of navigation.
人们在没有达到他们的预期前不会意识到app导航的存在。你的工作就是以支持应用结构而不引起用户的注意的方式实现导航。导航需要感到自然、常见,而不是支配界面或者把注意力从正文中拉走。在iOS中,导航有三种主要的样式。
Hierarchical分层的 Navigation
分级导航
Make one choice per screen until you reach a destination. To go to another destination, you must retrace折回 your steps or start over from the beginning and make different choices. Settings and Mail use this navigation style.
每屏只做一个选择,直到你到达目的地。要想去其它地方,你必须返回从你进入的地方从新开始,然后再进行选择。设置和邮件使用这种导航方式。
Flat Navigation
平面式导航
Switch between multiple content categories. Music and App Store use this navigation style.
在多个内容类别之间切换。音乐和应用市场使用这种导航方式。
Content-Driven or Experience-Driven Navigation
内容或者体验驱动的导航
Move freely through content, or the content itself defines the navigation. Games, books, and other immersive apps generally use this navigation style.
内容之间的能自由的穿梭或者内容本身来定义导航。游戏、读书和其它沉浸式的app通常使用这种导航方式。
Some apps combine multiple navigation styles. For example, an app that uses flat navigation may implement hierarchical navigation within each category.
有些app交叉使用多种导航方式。例如,一个app在使用平面式导航时可能在每个类别中使用分级导航。
Always provide a clear path. People should always know where they are in your app and how to get to their next destination. Regardless of navigation style, it’s essential that the path through content is logical条理分明的, predictable可预言的, and easy to follow. In general, give people one path to each screen. If they need to see a screen in multiple contexts, consider using an action sheet, alert, popover, or modal view.
始终提供一个清晰的路径。人们应该一直能够知道他们在你app中的位置以及怎么到达他们的下一个目的地。不要管导航样式,让穿越内容的路径是条理分明、可预期、并且容易理解更加重要。一般来说,给用户一个能到达所有屏幕的路径。如果他们需要查看包含一个多任务的屏幕,考虑使用动作列表、警告、弹窗或者情态视图。
Design an information structure that makes it fast and easy to get to content.Organize your information structure in a way that requires a minimum number of taps, swipes, and screens.
设计一个能够更快更容易得到内容的信息结构。以一种需要尽量少使用点击、滑动、筛查的方式来组织你的信息结构。
Use touch gestures to create fluidity. Make it easy to move through your interface with minimum friction. For example, you could let people swipe from the side of the screen to return to the previous screen.
使用触摸手势来转换页面。让切换屏幕变得非常容易。例如你可以让用户从屏幕的边缘滑动来返回上一屏。
Use standard navigation components. Whenever possible, use standard navigation controls such as page controls, tab bars, segmented controls, table views, collection views, and split views. Users are already familiar with these controls, and will intuitively直观的 know how to get around your app.
使用标准的导航组件。尽可能的使用标准的导航控制,比如页面控制、标签栏、分段控件、表格视图、收集视图、拆分视图。用户已经熟悉了这些控件,会很直观的在你的app中走动。
Use a navigation bar to traverse穿过 a hierarchy层级 of data. The navigation bar’s title can show the current position in the hierarchy, and the back button makes it easy to return to the previous location.
用导航条来穿过信息层级。导航条的标题可以展示当前层级的位置,返回按钮能够非常轻松的回到上一个视图。
Use a tab bar to present peer categories类别 of content or functionality功能. A tab bar lets people quickly and easily switch between categories, regardless of the current location.
用选项卡来表示同一类别的内容或功能。不管当前位置在哪里,选项卡能够让用户快速、轻松的在分类中切换。
Use a page control when you have multiple pages of the same type of content. A page control clearly communicates the number of pages available and which one is currently active. The Weather app uses a page control to show location-specific weather pages.
当同种类型的内容有很多页时,使用页面控件。一个页面控件清晰的传达出可用页面的数量、当前页面是哪个。天气app使用页面控件来展示具体地点的天气页面。
TIP Segmented分段 controls and toolbars don’t enable navigation. Use a segmented control to organize information into different categories. Use a toolbar to provide controls for interacting with the current context.
提示:分段控件和工具条不提供导航。用分段控件组织不同类别的信息。用工具条提供当前内容的交互控制。