iOS Development Guidelines
  • Introduction
  • 规范
    • 0. 介绍
    • 1. 序言
    • 2. 代码命名规范
      • 2.1. 代码命名基础
      • 2.2. 方法(Method)命名
      • 2.3. 函数(Function)命名
      • 2.4. 属性(Property)与数据类型命名
      • 2.5. 其它命名规范
      • 2.6. 可接受缩略名
    • 3. 代码格式规范
      • 3.1. 代码注释格式
      • 3.2. 代码结构与排版
    • 4. 开发实践
      • 4.1. Objective-C保留字
    • 5. Xcode工程结构
    • 6. 版本控制
      • 6.1. Git基本配置
      • 6.2. Git分支模型
      • 6.3. SVN源代码管理规范
      • 6.4. SVN的标准目录结构
    • 7. 附录
      • 7.1. Xcode扩展插件
      • 7.2. 第三方开源库
    • 8. 参考
    • 9. iOS开发优化
  • Swift编码规范
  • Objective-C新特性
  • iOS生命周期
  • Apple 官方设计指南
    • iOS 人机交互指南
      • 概览 - 设计理念
      • 概览 - iOS 10 新功能
      • 概览 - 接口要素
      • 交互 - 3D Touch
      • 交互 - 辅助功能
      • 交互 - 音频
      • 交互 - 身份验证
      • 交互 - 数据输入
      • 交互 - 反馈
      • 交互 - 文件处理
      • 交互 - 初次启动体验
      • 交互 - 手势
      • 交互 - 加载
      • 交互 - 模态
      • 交互 - 导航
      • 交互 - 评分和评论
      • 交互 - 请求权限
      • 交互 - 设置
      • 交互 - 术语
      • 交互 - 撤销与重做
      • 系统功能 - 多任务
      • 系统功能 - 通知
      • 系统功能 - 打印
      • 系统功能 - 快速预览
      • 系统功能 - Siri
      • 系统功能 - TV 供应商
      • 可视化设计 - 动画
      • 可视化设计 - 品牌化
      • 可视化设计 - 颜色
      • 可视化设计 - 布局
      • 图像 - 应用图标
  • Apple 官方开发指南
    • App 发布指南
      • 待完善
    • Cocoa 代码指南
      • 代码命名基础
      • 方法命名
      • 函数命名
      • 属性和数据类型命名
      • 可接受的缩写词和首字母缩写词
      • 针对框架开发者的技术细节
    • 核心蓝牙编程指南
      • 待完善
  • iOS 杂谈
    • Auto Layout 是怎么进行自动布局的性能如何
    • App 启动速度的优化与监控
    • 多人的大项目,架构怎么设计更合理
    • 链接器:符号是怎么绑定到地址上的
    • App 如何通过注入动态库的方式实现极速编译调试
    • 静态分析工具的选择
    • Clang的App 提质
    • 无侵入的埋点方案如何实现
    • 包大小:如何从资源和代码层面实现全方位瘦身
    • iOS 崩溃千奇百怪如何全面监控
    • 如何利用 RunLoop 原理去监控卡顿
    • 临近 OOM,如何获取详细内存分配信息,分析内存问题
    • 日志监控:怎样获取 App 中的全量日志
    • 性能监控:衡量 App 质量的那把尺
    • 远超想象的多线程的那些坑
    • 怎么减少 App 电量消耗
    • 除了 Cocoa,iOS还可以用哪些 GUI 框架开发
    • 细说 iOS 响应式框架变迁,哪些思想可以为我所用
    • 如何构造酷炫的物理效果和过场动画效果
    • A/B 测试:验证决策效果的利器
    • 怎样构建底层的发布和订阅事件总线
    • 如何提高 JSON 解析的性能
    • 如何用 Flexbox 思路开发?跟自动布局比,Flexbox 好在哪
    • 怎么应对各种富文本表现需求
    • 如何在 iOS 中进行面向测试驱动开发和面向行为驱动开发
    • 如何制定一套适合自己团队的 iOS 编码规范
    • iOS 系统内核 XNU:App 如何加载
    • iOS 黑魔法 Runtime Method Swizzling 背后的原理
    • libffi:动态调用和定义 C 函数
    • iOS 是怎么管理内存的
    • 如何编写 Clang 插件
    • 打通前端与原生的桥梁:JavaScriptCore 能干哪些事情
    • React Native、Flutter 等,这些跨端方案怎么选
    • 原生布局转到前端布局,开发思路有哪些转变
    • iOS原生、大前端和Flutter分别是怎么渲染的
    • 剖析使 App 具有动态化和热更新能力的方案
  • Flutter
    • 0.Flutter学习笔记以及问题记录
    • 1.Dart基础快速入门
    • 2.什么是声明式UI
    • 3.Flutter入门基础知识
    • 4.项目结构、资源、依赖和本地化
    • 6.布局与列表
    • 7.状态管理
    • 8.路由与导航
    • 9.手势检测及触摸事件处理
    • 9.线程和异步UI
    • 10.主题和文字处理
    • 11.表单输入与富文本
    • 12.调用硬件、第三方服务以及平台交互、通知
    • 13.基于Http实现网络操作
    • 14.图片控件开发详解
    • 15.异步:Future与FutureBuilder实用技巧
    • 16.APP首页框架搭建-Scaffold与PageView
Powered by GitBook
On this page
  • 颜色
  • 颜色管理

Was this helpful?

  1. Apple 官方设计指南
  2. iOS 人机交互指南

可视化设计 - 颜色

Previous可视化设计 - 品牌化Next可视化设计 - 布局

Last updated 5 years ago

Was this helpful?

颜色

颜色是传递生命力,提供视觉连续性,沟通状态信息,响应用户操作的反馈并帮助人们可视化数据的好方法。在浅色和深色的两个背景下,当你选择应用色彩的颜色搭配时,看看系统颜色组合的搭配。

明智的使用颜色来交流。颜色的力量唤起重要信息的注意,要更加谨慎的使用。例如,一个红色三角形警告人们一个危险问题变成不那么有效,原因是在应用程序别的地方使用了红色。

在您的应用程序使用互补色。你的应用程序的颜色应该一起工作的,而不是冲突和分散注意力,如果粉彩是你应用程序风格的要素,例如,请使用协调一整套的粉色。

一般来说,选择与你应用程序 logo 相协调的有限调色盘。颜色的微妙使用是传达你商标的绝佳方式。

考虑选择一个关键的颜色来指示你整个应用程序的交互性。在便笺中,交互性的元素是黄色,在日历中,交互性的元素是红色,如果你要规定交互性的关键颜色,请确保其他颜色不与之竞争。

避开使用相同的颜色做为交互式的和不交互式的元素。如果交互式和不交互式的元素是同一个颜色,人们很难知道从哪里点击。

考虑艺术品和半透明度对附近颜色的影响。艺术品的变化有时保证附近颜色改变,是为了维持视觉上的连续性,和防止界面元素成为压倒性的或平庸的。地图,例如,地图在使用模式时显示为浅色方案,但是在激活卫星切换成深色的。而且当放置在半透明度的后面时,或者应用于半透明元素时,比如工具栏,颜色显现也不同。

测试你的应用程序的颜色在各种的照明条件下的色彩搭配。照明在室内和室外都有着明显的不同,根据空间氛围,时间,天气等,当你的应用程序在现实中使用时,你在计算机上看到的颜色总是不一样。总是在多种照明条件下预览你的应用程序,包括阳光充足的室外,看颜色如何显现,如果必要,请调整颜色,以便在大多数的案例中提供最好的观看体验。

考虑如何感知在其他国家和文化使用你的颜色。例如,在一些文化中,红色传达危险。在其他方面,红色有积极的内涵。确保你应用程序的颜色发送适当的信息。

使用足够的颜色对比度。不足的对比造成每个人难于阅读您的应用程序。图标和文本可能与背景混合,例如,在线对比颜色计算器能帮你精确地分析你应用程序的对比,确保它符合最佳标准。争取 4:5:1 的最小对比度,尽管 7:1 是首选因为它符合更严格的标准。

颜色管理

应用颜色配置文件到你的图像。iOS 默认色彩空间是标准 RGB(sRGB)。确保颜色与此颜色空间正确的匹配,确保你的图像包含内嵌的颜色配置。

使用广泛的颜色来提高兼容显示器的视觉体验。广泛的颜色显示支持 P3 色彩空间,能够产生更丰富,更饱和的 sRGB 色彩。因此,使用广泛颜色的照片和视频更逼真,使用广泛颜色的视觉数据和状态指示灯更具影响力。适当时,使用显示 P3 颜色配置文件,16 位每像素(每通道)并导出 .png 格式的图。注意,宽彩显示需要设计宽彩图像并选择 P3 颜色。

当经验要求时,提供特定的图像和颜色变化。一般来说,P3 的颜色和图像倾向显现在预期的 sRGB 设备上。然而,偶尔,当他们显现 sRGB 设备上,它可能很难区分两个很相似的P3颜色。在 P3 频谱上使用颜色的渐变有时也可能会在 sRGB 设置上出现裁剪,为了避免这些问题,你可以在你的 Xcode 项目中提供不同的图像和颜色,以确保宽彩和 sRGB 设备上视觉的保真度。

在实际的宽彩和 sRGB 显示器上预览你应用程序的颜色。根据需要进行调整,以确保两种类型的显示器有同样好的视觉体验。

提示 在有广色域显示器的 Mac 机上,你能使用系统颜色选择器选择和预览 P3 颜色,并将它与 sRGB 颜色进行比较。

浅色搭配

深色搭配

考虑真实的色调显示如何影响颜色。真实的色调利用环境光传感器自动调整显示屏的白点,以适应当前环境的照明条件。应用程序主要集中阅读,照片,视频和游戏能通过指定白点自适应风格来加强和削弱这种影响,看。

注意色盲。例如,许多色盲的人发现很难区分红色和绿色(和灰色之间的颜色)或者蓝色和橙色,避免使用这些颜色组合是组分状态和值的唯一方法。例如,你可以使用红色的正方形和绿色圆,而不是用红色和绿色的圆来表示上线和离线。一些图像编辑软件包括可以帮你证明色盲的工具。

信息属性列表的关键参考