引自《iOS12界面交互设计规范(iOS 12 Human Interface Guidelines)》
用户总是希望能够在他们所有的设备以及任何一种模式下使用他们最喜欢的应用。在iOS中,界面元素和布局能够被配置在不同的设备中、在iPad中多任务操作时、分屏模式时以及屏幕旋转时,自动改变形状和大小。因此,提前计划并且设计一个在任何环境下都能提供非凡体验的应用是十分重要的。

环境变化时保持当前内容的焦点不变(Maintain focus on the current content during context changes. )内容是你的最高使命。让焦点随着环境变化而改变是令人迷惑又沮丧的,它会让用户感觉当前的应用失控了。
确保最重要的内容在默认大小下清晰可读(Ensure primary content is clear at its default size. )除非用户选择调整大小,否则不应该让用户横向滑动才能阅读重要的文字信息,或是放大才能看清重要的图片。
在应用内保持整体一致的视觉外观(Maintain an overall consistent appearance throughout your app.)一般来说,具有相似功能的元素应该看起来相似。
利用视觉权重和平衡来表示重要性(Use visual weight and balance to convey importance.)大的对象能够抓住人的眼球,显得比小的更加重要。大的对象也更易于点击,当应用在容易分散注意力的环境中(比如厨房和健身房)被使用时这点尤其重要。一般来说,把首要的对象放在屏幕的上半部分并且放在偏左的位置——处于从左往右的阅读环境时。
利用对齐来方便浏览,并且表达结构和层级(Use alignment to ease scanning and to communicate organization and hierarchy.)对齐让应用看起来整齐有次序,当页面滑动时有助用户聚焦,更容易找到信息。缩进和对齐还可以表明多组内容之间的关系。
避免无缘由的布局变动(Avoid gratuitous layout changes. )即使用户旋转了设备,也不代表整体的布局需要变换。比如,如果你的应用在竖屏模式展示了一网格的图片,那么在横屏模式你没必要依次展示同样的图片。相反地,你只需要简单地调整网格的尺寸就行了。尽量在任何环境下都能维持相当的体验。
可能时,同时支持竖屏和横屏模式(If possible, support both portrait and landscape orientations. )用户更喜欢在两种模式下都能使用应用,所以最好能够满足他们的期望。
如果你的应用只支持一种模式,那么请支持该模式的两种方向(If your app supports only one orientation, support both variants.)如果你的应用只能在一种模式下运行,那么确保它能够支持该模式的两种方向变化是十分重要的。比如,如果你的应用只在横屏模式运行,那么无论Home键在左边还是右边,应用都该能正常使用。如果设备被旋转180度,那么你的应用内容也该同时旋转180度。反之,当用户拿错设备方向时,你的应用没有自动旋转,那么他们就会很自然地知道应该旋转设备。你无需告诉他们该如何纠正。
根据当前使用内容来定制应用对旋转的反应(Customize your app’s response to rotation according to context.)比如,一个需要用户旋转设备来控制角色移动的游戏,就不会在游戏中根据设备的旋转来改变模式。但是,它可以根据当前设备的旋转方向来展示菜单和引导步骤。
为可交互元素提供足够的空间(Provide ample spacing for interactive elements.)尽量让所有控件都有不小于44pt x 44pt的点击区域。准备好应对文本大小的改变。当用户在设置里选择了不同的文本大小,他们总是希望大部分的应用都能合理适配。为了适应某些文本大小的改变,你可能需要调整布局。了解更多关于应用内文本使用的信息,请参阅Typography。
了解更多适应性的实现细节,请参阅 Auto Layout Guide。