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

相关推荐

  • 用户体验与可用性的差别有多大?

    一个好的用户体验究竟是什么?它与可用性易用性的差别有多大?这是从事这份工作后没有停止思考过的一个问题,因为对用户体验不同的解释会导致不同的测量范围。哪些用户体验信息(从我们的定位用户处直接或者间接可测量的数据)是对你们的组织有用的?起到什么样的作用?

    2017-05-13
  • 【优秀作业展示】交互设计基础(二)

    《交互设计基础》是学习交互设计的重要课程,在大三上学期开课。任课教师是工业设计系的华梅立老师,通过老师的认真指导和对该课程的学习,大家对交互设计有了进一步的了解,在老师的引导下,同学们对高铁取订票界面设计进行了深入的分析和再设计,并选取了感兴趣的小方向进一步拓展。接下来就看看学完本课程后同学们的优秀作业。优秀学生作业第二期申婉彤产品设计15101高铁购票界面设计地点选择日期选择车次车座选择身份认证界面支付界面支付宝支付银行卡支付01Te...

    2018-04-22
  • 面试时,如何阐释设计思路?

    这几天有一些同学问我关于面试的问题,其实我对于整个面试的过程还没怎么总结过,但是对于如何阐述自己的设计思路倒是有一套方法,今天分享给大家。由于信息安全问题,我将底部的信息主架构进行了隐藏和改变,大家主要看整个设计思路的阐述,不要纠结细节。

    2017-05-07
  • 细数那些精彩纷呈的引导页

    随着苹果ios8的发布,可以看到货架上,众多主流App迫不及待地向人们展示产品视频预览,接下去会是被设计师、市场宣传相继关注的焦点,产品宣传的下一轮引爆点。 作为能在App store上先发触达地形成前期推广的视频预…

    2014-12-18
  • 译文 | 在UX设计中利用色彩影响情绪

    颜色是我们观察事物的第一认知,是最能触动我们感官的视觉元素。颜色可以激发我们的联想,刺激我们的情绪。在设计中,颜色的合理运用一直是个很重要的课题。现在就让本篇文章带你认识每种颜色的独特作用和如何运用在UX设计之中吧。

    2017-05-25
  • 团队项目现已在Axure RP 9中提供

    团队项目现在可以在最新版本的Axure RP 9 beta中获得!请查看以下步骤以开始使用。 在RP 9中创建一个新的团队项目 转到文件>新团队项目或团队>从当前文件创建团队项目。 为团队项目命名。 为团队项目创建新工…

    2019-04-04
  • 用户体验设计师是做什么的

    用户体验设计师的责任UX设计师如何每天工作?这个问题的答案,正如许多问题一样,是:这要看情况而定。用户体验设计师的职责从公司到公司,甚至同一公司不同项目各不相同。尽管角色各不相同,但有一些职能是期望用户体验设计师去做的,这与他们所工作的公司无关。下面为总结的用户体验设计师的6个主要职责:1.产品研究产品研究(包括用户和市场研究)是每个用户体验设计师的用户体验设计项目的出发点。它为伟大的设计提供了基础,因为它允许设计师避免假设和做出信息驱...

    2018-03-03
  • 一个用户体验设计师的转化率优化准则

    优化,作为一种服务,正变的无处不在。那么,对于通讯公司和专业的优化公司来说这两者有什么区别呢?我见过很多个人和机构在做转化率优化的时候忽视了去思考‘为什么’这个部分。说服用户的方式必须是道德的,因为我们不想破坏整体用户体验、客户的声誉和他们的品牌。从本质上讲,设计一个高转化的网站是我们的工作,并且这也是我们要去推动的边界。 一个漂亮的网站可能在短期内取悦客户,但是,如果网站不赚钱,那幸福会很短暂。

    2017-05-19
  • 如何让头脑风暴更有效率

    头脑风暴法是广泛用于团队的一个产生想法和解决问题的方法。然而,许多头脑风暴活动是有不完美的,最终并不能帮助激发思想上的创新。众所周知,传统的头脑风暴,团体在一起,把想法一个接一个的表达出来,通常这是…

    2014-11-10
  • 不可思议!VR虚拟现实的第一个盈利领域竟是A 片

    [alert_info] 据预测,虚拟现实色情产业到 2025 年将达到 10 亿美元。去买个虚拟现实头盔来看黄片吧。 网友评论: 太污了 我没法看下去了…… [/alert_info] 现在的虚拟现实产业就像打了鸡血一样。当你带上虚拟现实头…

    2016-01-24