APPLE WATCH 中文手册:WatchKit Apps--App概要

1418700829160873

原文:Apple Watch Programming Guide:App Essentials

Xcode支持用storyboard来创建Watch app的界面。当你在工程中新建一个Watch app,Xcode提供会提供一个storyboard来实现你的UI。这个Storyboard至少有一个Watch app的界面场景,并可能有额外的快速预览(glance)或通知界面场景。你可以从界面控制器中的对象库中拖动到storyboard的场景中。

Storyboard中的每个场景以相应的WKInterfaceController子类为支持(对于动态通知界面,子类是WKUserNotificationInterfaceController)。 对于每一个新的场景,可以在标识检查器(Identity inspector)中输入你界面控制器的名字。 每个界面控制器的代码都在WatchKit的扩展目标中运行,不用在你的Watch app中引入任何代码。

界面控制器怎样工作(How Interface Controllers Work) 

界面控制器(Interface controller)管理你storyboard的场景内容。每个界面控制器都使用outlet来保存场景中的引用对象,并定义action方法来响应用户交互。在运行时,你可以使用界面控制器的initWithContext:willActivate方法来配置界面。在这些方法里,你的操作任务如下:

  • 获取你想展示的数据。
  • 设置初始化和配置标签,图片和其他控件。
  • 根据你的需要,展示或隐藏你的界面对象。

这里没有限制Watch app中能拥有的界面控制器数量,但是过多的界面控制器意味着更复杂,所以要尽可能精简。您为app选择的导航类型定义了用户怎样从一个界面跳入下一个。有些导航类型需要你清晰的展示下一个界面控制器,而有些不用。更多关于两个场景间导航的信息,请查阅Interface Navigation.

整合你的故事版场景(Assembling Your Storyboard Scenes)

Watch app不使用iOS app那种布局模型。当你整合你的Watch app的界面场景,你无法在充足的空间里通过任意的布局元素来创建视图层级。相反,当你添加元素到场景,Xcode列出许多选项给你,垂直地叠放在不同的行中。在运行时,Apple Watch会根据可用空间将这些元素平铺出来。

WatchKit也提供了几种在storyboard场景里更精确的布局方法。大多数视图元件的size和position都可以在属性监视器(Attributes inspector)里配置。对象组群提供了另一种重要的工具来布局组件,及允许你像垂直布局那样水平布局你的元素。组群还提供额外的选项来布局组群的边界内组件。组群没有默认的视觉呈现形式,但可以按你自己的想法配置背景颜色或者背景图。

图5-1展示了排列在storyboard文件中的几种不同元素。前三个元素都是标签,它们每个都占用了自己那一行的全部水平宽度。对于每个标签,对齐变量决定了视图控制器边框是向左对齐、向右对齐还是居中对齐。标签的下面是一组水平排列的包含了两张图的对象。界面还包含了一个开关、, 一条separator(分割线)和一个按钮,这些元素都垂直地堆叠在对象组的最下面。

图5-1 Xcode中的界面:

1418624421368753

当在Xcode中创建你的界面时,尽可能地让对象自己调整尺寸来适应可用空间。App界面应该可以运行两种尺寸的Apple Watch。让系统调整对象尺寸来适应可用空间,这样可最小化为每款设备编写的代码量。

在运行时更新界面(Updating Your Interface at Runtime)

在运行过程中,界面控制器能让对象在相应的storyboad场景中做如下改变:

  • 设置或修改数据变量
  • 支持改变对象的外观
  • 改变对象的尺寸
  • 改变对象的透明度
  • 显示或隐藏对象

你不能添加新的对象到界面或者改变已经存在对象的次序。尽管你不能移除对象,但你可以通过隐藏对象来暂时从图层中移除。当控件被隐藏时,其他对象将会填充此前被占用的空间。 如果不想填满这些空间,可以把对象的alpha值设置为0。 更多关于隐藏场景对象的信息请查阅Hiding Interface Objects

界面的国际化(Internationalizing Your Interface) 

WatchKit app的storyboard是默认基于国际化的。这个特性会使在storyboard中任意的字符串都被自动的添加到__Localizable.strings__文件中。 您唯一要做的工作就是针对每种目标语言翻译文件中的字符串,并将其包含到应用程序中。 当在运行时创建storyboard场景时,Xcode会插入与本地化相关的文件。

当考虑国际化你的app时,您主要考虑的是如果排布你的界面,让包含文本的标签和控件能有足够的空间进行扩展。您可以垂直布局界面元素以便有足够的空间展示其标题,而不是把多个按钮放在同一行中。

对于文本和图片的国际化处理,可以使用iOS和OS X应用相同的技术。

更多信息详见国际化处理Internationalization and Localization Guide

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

(0)
iouedioued
上一篇 2015-06-15 09:59
下一篇 2015-06-15 10:08

相关推荐

  • 交互设计师如何进行风险预判?

    在公司工作,任何职业都不可能单兵作战,协作是永恒的主题,而每一个需求和任务的实现,都是各方通力合作的成果。作为交互设计师,除了做好自己的设计工作之外,还需要花费大量的时间与产品、运营、客户端开发、前端开发、后端开发一起协作和沟通。

    2017-06-04
  • 马化腾:用户体验,比一切事情都大

    企业快速成长中,第一个大问题就是战略。/演讲|马化腾来源|笔记侠(ID:Notesman)我非常希望也很高兴在这个平等氛围中,以创业者的身份跟大家进行这样一场交流。在座的创业者,很多拿到A轮、B轮,有些在走向C轮。企业快速成长中,第一个大问题就是战略。创业最难的就是选准创业的点,你会面对很多机会、很多诱惑,需要不断做出选择。自腾讯初创开始的六七年,是我们变化最快的时期,我想把这个时期包括战略选择等方面的经验跟大家分享。一、关注痛点你出来...

    2018-02-16
  • 7个实用规则,让你的设计更加简单直观

    简单直观的设计并不一定非得是极简的,它同样可以是丰富而又有趣的。

    2017-05-09
  • 美国直播这样玩:以Facebook和Snapchat为例

    中国的视频直播市场正在进入百播大战,优质视频内容正在成为稀缺资源。而美国直播市场经历了2015年全面爆发后,在内容生产上正进入PGC和UGC直播齐头并进的时代:传统媒体积极拥抱直播平台,社交网络更是借此拓展出…

    2016-06-01
  • 常见的登录交互方式

    现在市场上面的APP种类繁多,而登录注册的方式也有很多,下文就简单来分析一下各种登录的交互方式,谈谈自己对这些方式的见解。 1.账户密码输入型 首先最常见的就是输入账号密码型的,这种交互方式可以在注册时就获…

    2016-03-23
  • 从细节看分析-购物车的跳转设计

      小编推荐:难得在知乎上看到一个特别具体的问题还有不同观点的,本文是一篇关于购物车到底应该是本页弹窗还是页面跳转的讨论,如果你也喜欢从细节入手考虑问题,一定要看呦。 问题: 点击产品详情页面的”添…

    2015-12-23
  • 你的产品有没有为老年人考虑?

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

    2015-02-08
  • 千万级用户的视频体验,我们是这么做的

    如今app的更新迭代速度很快,因此无论在视觉审美还是交互功能上都有新的趋势和风格。乐视视频原有的ui设计风格已经无法跟上目标客户群的审美变化,且在功能上较难满足用户预期,因此需要在整体视觉和产品功能上进行相应的美化和完善,使我们的视频产品无论从视觉还是功能上都能够在给予老用户新鲜感的同时吸引更多的目标用户。

    2017-05-26
  • 这3种移动端登录的交互方式,孰优孰劣?

    登录注册的界面看起来很简单,在交互上却有很多值得思考的地方。现在我们选以下三种较有代表性的登录方式来比较和小结一下。

    2017-05-26
  • 项目管理能力提升四要素

    摘要:企业在应对快速发展的经营活动时有两个管理将起到关键性作用,一个是战略管理,一个是项目管理。战略管理立足于企业的长远和宏观,考虑的是核心竞争能力,而项目管理是实现战略并支持企业快速健康发展的手段和保障。认识项目管理美国项目管理协会主席保罗说:“在当今社会,一切都是项目,一切也将成为项目。”项目,是在一段时间内为完成某一独特的产品或提供独特的服务所进行的一次性努力的过程。只要有目标和过程,就可以成为一个项目。譬如:设计开发某一产品功能...

    2018-03-25