iOS 提供 materials(或模糊效果)以创建半透明的效果,可以使用它来造成纵深感。视图和控件可以利用 materials 效果来提示背景上的内容,而不会分散对前景内容的注意力。为了产生这种效果,materials 允许背景颜色信息透过前景视图,同时模糊背景内容以保持可读性。

当你使用系统定义的 materials 时,你的元素在所有情境下都会有很好的视觉效果,因为这些效果会自动适应系统的浅色和深色模式。

提示 materials 的使用需要在视图层次结构中,存在视觉效果视图。有关开发人员指南,请参阅 UIVisualEffectView

以系统使用的 materials 为指导。尽可能将那些,启用类似功能、使用相同 materials 的自定义视图与系统提供的视图进行比较。

为文本、填充、图形和分隔符使用系统提供的颜色。系统提供的颜色会自动使这些内容,在半透明的背景上呈现好的视觉效果。有关指导,请参阅动态系统颜色

如果可能,请使用 SF Symbols。当你使用动态系统颜色为符号着色,或对其使用艳丽的效果时,该符号在任何场景下都会有很好的视觉效果。相反,全彩图像可能与背景没有足够的对比度,在半透明的背景视图中使用时,可能看起来不太好。有关相关指南,请参阅 SF Symbols

系统定义的 Materials 与 Vibrancy

iOS 定义可用于特定区域的材料,以控制前景内容和背景外观之间的视觉分离。系统提供的材料包括光明和深色的变体,这些变体适用于大多数背景。

对于内容容器,iOS 13 定义了四种具有不同半透明级别的 materials(每种 material 还包括一个深色变体):

选择 material 时,请考虑对比度和视觉分离。选择 material 与 vibrancy 效果的结合没有绝对的规则。在做出选择时,请考虑:

  • 较厚的 materials 可以为具有精细特征的文本和元素提供更好的对比度
  • 半透明功能通过对背景中内容的可见提醒,帮助人们记住当前情境

iOS 13 还为标签、填充和分隔符定义了 vibrancy 值,专为处理每种 material 而设计。通过采样背景颜色和修改饱和度和值,vibrancy 可以使 UI 元素变亮或变暗。使用 vibrancy 的 UI 元素会与 materials 集成更好,并增强了半透明效果。

标签和填充都提供几个级别的 vibrancy,分隔符只有一个级别。级别的名称解释了元素和背景之间的相对对比度:默认级别具有最高的对比度,而第四级(如果存在时)的对比度最低。

除了第四级外,你可以在任何 material 上的标签使用以下 vibrancy 值。不建议在薄和超薄 material 上使用第四级,因为对比度太低。

你可以使用以下 vibrancy 值对所有 materials 进行填充。

iOS 为分隔符定义以个默认的 vibrancy 值,该值适用于所有 materials。

根据语义选择 vibrancy 效果。避免混合这些效果;例如,不要对分隔符使用标签的效果。