iOS 7 UI 过渡指南 - 开始之前
本文翻译自苹果开发者中心文档 iOS 7 UI Transition Guide (Preparing for Transition - Before You Start)
开始之前
iOS 7 引入了许多用户界面的新变化,例如无边框的按钮、半透明的控制条(bars)、全屏布局的视图控制器。使用 Xcode 5,你可以创建一个 iOS 7 的工程并且在 iOS 7 模拟器上运行,来看一眼采用 iOS 7 用户界面的应用程序是什么样子的。
例如,下面的图片展示了一个示例工程 TheElements 在不同版本 iOS 模拟器上的区别。
iOS 7 模拟器上的示例程序 | iOS 6 模拟器上的示例程序 |
---|---|
看到这个对比,你肯定急切地想要投入到更新自己的应用以适配 iOS 7 的工作中,不过在你开始之前有些事情需要考虑。
当你与内建程序交互时,iOS 7 变化的既细微又巨大之处就变得更加清晰。熟悉的 UI 元素非常易于辨认,但看起来已经与以往有很大不同。真实的虚拟触摸更加优雅,动作的真实性得到增强。
注意:虽然所有 UI 元素的样子在 iOS 7 中都有了很大变化,而且有很多元素有了新的功能,但 UIKit API 几乎与之前保持一致。
当你继续探索时,你会开始觉察到 iOS 7 的主题。
- 遵从。用户界面会帮助用户理解并了解其内容,而从不争夺用户的眼球。
- 清晰。文字在所有尺寸下都能清晰显示,图标清晰易懂,装饰优雅适宜,对实用性更多的关注促进了这样的设计。
- 深度。虚拟的层次和具真实感的运动给用户带来使用上的乐趣,并更加易于理解。
通过在 iOS 体验上引入这些根本而广泛的变化,iOS 7 提供了一个难得的机会让我们重新审视自己的应用程序核心目的是什么,该为用户提供什么功能。虽然你可能还没准备好抓住这个机会,但当你更新你的程序以适配 iOS 7 时请别忘了这一点。(如果你已经准备好重新审视你的应用程序设计,或者你正打算开启一个新的工程,请阅读《Designing for iOS 7》作为参考。)
应用程序的特性
不论你决定重新设计一个应用程序还是更新当前的设计,你需要了解应用程序的特性如何影响这个设计的过程。首先,回答一下几个问题来帮助你明确下一步应该怎么做:
你采用了 Auto Layout 来设计app吗?
如果你的 app 采用了 Auto Layout,你的工作就变得容易多了。在 Xcode 5 中,Auto Layout 可以帮助 app 适应新的 UI 元素度量,并能对字号动态调整。Auto Layout 对你从 iOS 6 过渡到 iOS 7,以及同时支持两个版本很有帮助。
如果你没有采用 Auto Layout,现在是开始采用它的好时候了,尤其是如果你需要同时支持多个 app 版本时。如果你采用手动布局或程序化布局技术,你应该确认当文字大小改变时布局能合适地调整。应用需要支持 iOS 6 吗?
记住,iOS 的用户会非常快地更新他们的设备,并且期望他们最喜爱的 app 能够跟随潮流。
如果由于商业原因要求必须支持 iOS 6,开始更新你当前的 app 来适应 iOS 7 依然是最好的选择。然后如果有可能的话,对 iOS 6 版本的 app 运用一些设计上的变化。详情可以参见“Supporting iOS 6”(原文第11页)。
下一步是确定 app 定制的方式。定制的数量,以及你采用的自定义技术,决定了你所需要做的工作的类型。
按照以下三种类型来将你的 app 分类:
- 标准型。app 只包含了标准的、未经自定义的、由 UIKit 提供的 UI 元素。
- 自定义型。app 呈现了一个完全自定义的 UI,不包含任何 UIKit 中的 UI 元素。
- 混合型。app 同时包含了标准的和自定义的 UI 元素,包括那些你通过调用 UIKit 中的色彩和外观设置 API 来自定义的标准元素。、
对于标准型 app,你需要确定你的设计和用户体验设计在 iOS 7 环境下是否依然有效。如果你决定保持现在的布局和交互模式,大部分的工作只是进行微调,来确保 app 可以正确处理系统全局的手势。
对于自定义型 app,也就是没有采用 UIKit 中的 UI 元素的app,在方法上就有些细微差别了。举例来说,如果你感觉当前的 UI 和体验依然合适,可能需要做的工作就很少。另一方面,如果你感觉 app 的风格和用户体验应该进行一些修改,来满足 iOS 7 用户的要求,你可能需要做比较多的工作。
对于混合型 app,需要做的工作量是不一定的,取决于你所做的自定义更改,以及你将自定义内容与标准元素结合的方法。重新审视一个混合型 app 的整体设计时,你需要确保你的自定义内容与新的标准元素集成在一起依然正常并且显示效果不错。
注意:如果你采用了完全自定义的方法来模拟标准 iOS 6 的 UI,可能会需要大量改动的工作,因为它会看起来非常过时。