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

相关推荐

  • 一次关于梦想、音乐和代码的交互设计体验

    ▲ Arcade Fire··[Way to Go] 这是树林里的一次漫步, 这是一次惊人的互动体验。 一个不安分的全景, 一次手工制作动画, 用360度视频(精选)拍摄, 混合着音乐、梦想、还有…

    2017-08-02
  • 给设计师的网页动画设计基础指南

    挤压和拉伸
    预期
    登台
    连续动作和姿态对应
    缓进缓出
    弧形运动
    次要动作
    时序
    夸张
    立体刻画
    吸引力

    2017-05-27
  • 体验的情感之谈

    来源:Johny Holland Magazin 当体验设计的范畴在不断延展的时候,也正是其面临着一种设计挑战的时候,即体验设计师希望给用户传递一种可独立于情境或频道、具有相关性(延续性)和一致性(稳定性)的设计。 如同在…

    交互设计 2015-10-20
  • The Benefits of Mobile Interaction Design

    Mobile interaction design is the process of creating user interfaces for mobile devices. It involves creating a user experience that is tailored to the device’s size, capabilities, and context. Mobil…

    交互设计 2023-04-03
  • 什么是IxD交互设计?分分钟搞懂其中的关键要素!

    先讲个故事,小互是个销售员,下午出去拜访客户,完事后发现已经六点多了,非常饿,小互想回家自己做饭吃,但是实在是太饿了,回家又要做好久的地铁,还不如就在附近找家小饭馆吃了呢,于是环顾四周,发现马路对面…

    交互设计 2015-01-26
  • UX 设计中的「环境」元素思考

    随着 AR/VR/MR 大潮来临,传感器等技术的不断发展,「环境」已经逐渐成为 UX 设计师在「人」与「设备」之外重点关注的第三极。

    2017-04-27
  • 2017年交互设计的10大趋势

    UI 设计的趋势是变化非常快的,有的时候我们的脚步总是可能慢了一拍。 随着 2016 年接近尾声,Lin. 为大家整理了外网大牛 Jamie Leeson 总结的 2017 年 UI 设计的 10 个重要的趋势。01. 沉浸式的全屏视频Campos Cof…

    2017-08-02
  • iOS10 交互设计启示

    导读:本文用交互设计的思维对iOS10的新特性进行分析。撇开平时我们考虑的界面排布,页面元素等问题不谈,将视角转移到屏幕外的东西:如时间维度的,空间维度的,手势操作等等,以提升我们的用户体验。本文作者是蘑…

    2017-08-04
  • 产品思维~02·用户体验与结婚教练

    今天继续分享《得到》app梁宁的大师课程产品思维30讲,感兴趣可以下载《得到》app继续关注,在文后会附上《得到》app的下载方式。其实梁老师真的很幽默也很形象,来用结婚教练的例子来类比产品的用户体验,同样的结婚也好,创业找合伙人也罢,都是非常重要的长期关系,改变一个人那是非常难的一件事情,那么如何去观察和判断一个人就显得尤为重要。如果没有受过专业训练,那么眼睛看到的很可能是不真实的,你的感觉以及情绪很容易被某个点所牵制,而且在你没有强...

    2018-04-26
  • 乐观派UI:真实的谎言

    我真诚地希望,这篇文章能帮助你理解乐观派UI设计背后的核心观念。乐观主义,形容词,对于未来充满希望和信心。

    2017-05-15