APPLE WATCH 中文手册:APPLE WatchKit Apps--界面导航

1418700870635789

本文翻译自Apple Watch Programming Guide:Interface Navigation,敬请勘误。

对于内容超过一屏的WatchKit app来说,您必须在设计时选择一个导航类型。您所选择的导航类型定义了如何在应用程序中展示和管理界面控制器。WatchKit支持两种互斥的界面风格:

  • 分层风格
  • 分页风格

这两种导航都可以模态形式展示一个或多个界面。当您想暂时打断用户的工作流程以请求输入或者展示信息时,适合使用模态形式。当模态地展示两个或多个界面控制器时,系统会以一系列的页面展示它们,类似于基于分页的导航。

实现分层界面(Implementing a Hierarchical Interface)

分层界面主要针对分层的数据集,用户可在此选择某个条目以展示相关详细信息。分层界面通常始于单个的根界面控制器。在该界面控制器中,您可以通过调用当前界面控制器的pushControllerWithName:context:方法在屏幕上推出一个新的界面控制器。通常,当用户点击按钮或表格行时,您可以从动作方法中调用该方法。每个新的界面控制器可展示下一级分层中的信息。

当在屏幕上推出新的界面控制器时,会将数据对象传递给pushControllerWithName:context:方法的上下文参数。在新界面控制器展示在屏幕上之前,这个上下文对象就是您与其通信的机会。您可以使用该对象来告知界面控制器展示什么样的数据或者传达什么样的状态信息。

想要解除界面控制器,可调用其popController方法。用户也可以直接从屏幕的左边缘轻扫解除界面控制器。界面控制器解除后即失效,而先前的界面控制器将会重新展示。根界面控制器不能被解除。

实现基于分页的界面(Implementing a Page-Based Interface)

基于分页的界面主要针对本质上没有分层的数据。分页界面包含两个或者多个独立的界面控制器,并且在指定时间内仅展示其中一个界面。在运行时,通过向左/右轻扫屏幕进行导航。屏幕底部的圆点指示器控件指示用户当前的位置。

在设计过程中,您可以创建下一页的segue,以便在app的storyboard文件中配置分页界面。想要创建该segue:

1.对您希望作为第一屏的界面控制器执行Control-click操作,并将其拖拽到不同的界面控制器中。

应该强调第二个界面控制器,以指明segue是可用的。

2.释放鼠标按钮。

3.从relationship segue面板中选择next page。

通常在storyboard文件中配置一组初始的页面集合。当app启动时,WatchKit会实例化和初始化您的初始界面控制器,然后是分页界面中的其他界面控制器。如果您想改变一组界面控制器,请在初始界面控制器的init方法中调用reloadRootControllersWithNames:contexts:方法。调用该方法会使得WatchKit在尝试展示界面中任何其他页面之前加载新的界面控制器。您也可以在app运行时调用reloadRootControllersWithNames:contexts:方法来改变展示中的页面集合。

当系统加载您的WatchKit app界面时,它将实例化和初始化组成界面的所有界面控制器。当用户从一个界面控制器切换至下一个时,它将调用当前界面控制器的didDeactivate方法,以及即将展示的界面控制器的willActivate方法。willActivate方法可确保界面中的信息是最新的。

以模态形式展示界面控制器(Presenting Interface Controllers Modally)

模态界面可临时中断当前导航流以提示用户或者展示信息。您可以使用分页界面或分层界面来组成一个模态界面。想要模态地展示界面控制器,请从当前可视界面中调用以下方法之一:

模态界面的左上角包含一个文本标签,当点击时会解除界面。如果您没有为该标签指定一个准确的字符串,那么WatchKit会自动为其使用"Cancel"。您可以根据需要更改字符串,以反映解除模态视图的真实用意。比如,当展示那些您不希望用户响应的内容时,您可能会将字符串更改为"Done"或 "Close"。如果您使用了"Cancel"字符串,那要考虑为接受模态界面中的任何更改添加一个或多个按钮。

原创文章,作者:ioued,如若转载,请注明出处:https://www.iamue.com/6255/

(0)
iouedioued
上一篇 2015-06-15 10:05
下一篇 2015-06-15 10:10

相关推荐

  • Facebook副总裁:为什么我们把汉堡菜单换成了标签栏?

    如果你希望某个重要的东西被用户看到、用到,那么很简单 – 把它放在用户一定看得到的地方,别让他们去找。

    2017-05-19
  • 带给你视觉 2015 Web 设计色彩流行趋势

    前几天分享的2015年春夏流行色人气很高,今天直接放干货,@AnyForWeb_UDC 的同学根据2015年的色彩大致趋势走向,结合相关的设计经验,作出了以下网页配色 预测分析,来看看有哪些亮点吧。

    2014-12-28
  • 读书会第一期:《简约至上-交互设计四策略》

    你有多久没有静下心来好好读一本专业书了?谁都知道读书重要,然而“工作忙没有时间”、“不知道该看什么“常常成了借口,读书还是一再被耽搁。本周起,集创堂推出“设计经典书籍阅读”系列,每周解析一本设计类好书,深入浅出,提炼精华。也许,看完简介之后,你就有了读原著的欲望,那么我们做这件事的目的就达到了。《简约至上-交互设计四策略》这本书是我罗列的推荐书单里专门描写信息架构的书籍,书籍作者Giles Colborne是物理学出身,参与过航空航天项...

    2018-04-07
  • 你的产品有没有为老年人考虑?

    原文:smashingmagazine 木为艾欧网-交互学堂翻译 如果你在科技行业工作,很容易忘记,年长的人存在。大多数技术工人真的很年轻,所以很容易看到为什么大多数技术是为年轻人设计的。 考虑到这一点:到2030年,在美国19%…

    2015-02-08
  • Axure用的溜,并不代表你就能成为一个产品经理

    作者:杨俊全文共 2497 字,阅读需要 5 分钟—— BEGIN ——当你在人人都是产品经理上搜索“Axure”时,会有98页的结果。在知乎以及其它一些产品经理相关的网站上,也总是能够看到诸多Axure的使用问题和经验分享。但是,作为一个产品经理确实是需要会使用Axure的,但你使用Axure并不代表你就能成为一个产品经理。用户体验五要素在《用户体验的要素》中提到的五要素,自上而下分别是:战略层、范围层、结构层、框架层和表现层。当你能...

    2018-03-04
  • 设计基础:细说“十大可用性原则”

    “尼尔森十大可用性原则”给交互设计师带来益阳的设计思考,但对于新人来说,这并不好理解。为此,本文作者将结合自身经验以及一些案例,与大家聊聊“尼尔森十大可用性原则”到底是什么意思。enjoy~尼尔森(Jakob Nielsen)是一位人机交互学博士,于1995年1月1日发表了「十大可用性原则」。1995年以来,他通过自己的 Alertbox 邮件列表以及useit.com 网站,向成千上万的 Web 设计师传授 Web 易用性方面的知识,尽管他的一些观点可能带来争议,至少在 Web 设计师眼中,他是 Web 易用性领域的顶尖领袖。

    2017-04-27
  • Design is not about the pixels — or why the lean approach rocks

    For a while now, I focused on building partnerships with my freelance clients. A couple of pages taken out of lean UX book helped a lot. While talking with potential clients, especially coming from D…

    2015-06-02
  • 『真实』两个女设计师:一个互联网新手,一个30岁面临艰难选择

    编辑:我是UE网-@Tina爱学习  责任校对:@Tina爱学习 两个真实的经验送给互联网从业的设计师。 NANA 女 产品设计师  今年三十岁 传统软件企业 图片来自:unsplash 前几天Tina问我:好久不见,最近在忙什么?我说:…

    2015-06-02
  • APP常见的几种刷新类型

    这两天无意看到一些内容刷新案例,发现原来光一个刷新操作,也是有不同的刷新类型区分的,所以在这里记录一下。

    2017-05-30
  • Axure 从入门到够用

    第180篇Glen几个月前决定总结分享一个Axure教程系列,结果现在才腾出时间来梳理。Axure是最常见的产品原型工具了,看完这篇文章,你就基本具备了日常工作需要的产品原型能力了。Axure入门到够用教程1. 尺寸规范1.1 网页端产品尺寸优秀的产品原型是需要做到像素级高保真的,这样便于之后设计师输出设计图,毕竟眼见为实嘛。现在互联网主流屏幕分辨率有1920 * 1080、1366 * 768、1440 * 900。你在画网页产品原型...

    2018-03-06