iOS 11 设计完全指南-程序员宅基地

扁平化设计在过去 5 年中已经普及了,但在 iOS 7 之前并不常见,这种转变形成了当前的设计趋势。但扁平化设计并不是一成不变的,iOS 的设计已经适应了更大的屏幕。一开始扁平化设计还是拟物化设计的对立面,但现在却变得更加细致入微,走上了渐变、阴影和卡片式设计之路。

iOS 进化史

让我们从头开始,下图是拟物化设计,在 2007 年大家都不了解在口袋里有一台超级计算机是什么感觉,所以使用这种强有力的比喻是非常有效的。

2007:iPhone OS

接下来,如下图所示,我们摆脱了所有的装饰,转而采用扁平的色彩、漂亮的排版以及高分辨率的内容。由于大部分人日益习惯智能手机,因此不再需要借助大量的装饰来进行设计。

2013: iOS 7

下图是 iOS 11 的界面。标题加粗了许多,增强了可读性。由于屏幕更长了,现在底部导航也变得更加常见(Tab bar)。

现在的设计师必须根据多种分辨率和像素密度来调整布局。不过好消息是我们有了更棒的工具,例如 Sketch 和 Xcode 来适应这些最新的技术。

大标题

iOS 11 正在回归本源。到处都是加粗的字体。标题又黑又大。由于现在的屏幕几乎是最初的两倍长,所以大标题就非常有意义了。大字体还有一个原因是辅助功能,每天有来自各年龄段的数十亿人在使用手机,让内容尽可能清晰和易读变得非常重要。辅助功能让用户可以把支持此功能的 app 的字体设置得非常大。苹果在 iOS 11 中的所有自带 app 都支持这个选项。所以你会发现现在用户对此功能的期待度越来越高了。

卡片

更大的屏幕意味着内容有了更多空间。在大屏 iPhone 之前,不应使用任何容器以便给内容留出最大的空间。但有了 iPhone X 和 8,情况则不同了。可以借助状态栏、导航栏和 tab 栏让导航更加容易,并且使用卡片来更好地管理区域。圆角卡片可以让内容看起来更有触感、更友好。可以使用模糊的背景和阴影来为设计增加深度和上下文。

iOS 设计的状态

设计现在简单了许多,从而让我们可以专注在动画和功能上,而不是错综复杂的视觉细节。
在 iOS 7 之前,我每天的设计工作有一大部分都花在设计错综复杂的纹理上,例如木头、皮革和电镀表面。现在,我把这些时间花在了动画和代码上。不再是静态设计,而要让一切动起来,在更深的层次上去吸引用户。这也是为什么本专栏是设计与编程指南,而不仅仅是视觉设计指南。 从技术的角度来看,动画和代码从没有变得如此重要并可行。这也是为什么我们几乎每周都能看到一款新的原型工具和代码框架。设计变得非常广泛,同时和许多学科联系在了一起。设计师如果能够更好地理解每个学科的技术,就能够独自创造一款产品,同时也会和工程师更好地合作。

有很多人问过我如何开始学设计,以及如何成为更优秀的设计师。虽然并没有什么点石成金的秘诀,但是在 iOS 设计方面有很多技巧和规则可以普遍地影响你的设计方式。

即使你在为另一个平台进行设计,设计概念依然是相同的,同时也可以把学到的技术应用到 Web 和印刷中。iOS 是一个以设计为本的平台,读起来就像一本现代杂志,拥有漂亮的排版和简单的布局。本专栏的内容会极好的服务于你,让你在任何地方都能设计出最好的产品。

核心哲学

我们来复习一下基础知识。iOS 由三个核心理念驱动:遵从(deference)清晰(clarity)深度(depth)。受这些设计原则的启发,我把它们的含义分解为可执行的操作,这样相比于《iOS 人机界面设计指南》就更加简单和更加直观。

遵从

内容才是主角,其它东西都是次要的。使用元素对其进行补充,同时避免与其形成竞争关系,从而导致分散了内容的视觉效果。例如,使用漂亮的动画,从一个界面优雅地转移到另一个界面,从而确保用户不会一头雾水。模糊的背景可以保持上下文,同时可以让用户专注在前景的内容上。如果不明白,可以从官方提供的模板开始设计。

简洁

用户界面应该被剥离到只剩下核心美学设计。每当想添加一个新元素的时候,扪心自问一下:真的有必要吗?除非你的 app 是一款游戏或是特定主题,否则不要使用大量纹理、3D 效果和多层阴影。相反,专注于功能性颜色,和谐的渐变和漂亮的排版。

内容最大化

内容应该填满整个屏幕,给内在元素提供最大的空间。避免嵌套容器,同时最大化滚动区域以允许更多的交互空间。

颜色

用显眼的颜色来表示可点击的或需要强调的元素。你的设计是否成功都取决于是否选择了正确的颜色以及是否使用了中性色调。蓝色用于按钮和选中状态会很保险。另外,建议一开始使用白色或浅灰色背景搭配黑色文字。这样会提供极高的对比度,可读性极佳。

排版即内容

由于用户界面的简化和对内容的聚焦,所以排版将会占据屏幕的50%-90%。
所以,最重要的是选择一款漂亮的字体,然后设置它的粗细程度、行高和颜色,这样美观同时又能完美适配所有尺寸下的阅读。推荐使用默认的 San Francisco 字体 ,因为这款字体的设计初衷就是为了易读性。苹果在其所有 app 中都使用的这款字体。

负空间

使用负空间(negative space)以便让内容更专注。看到的东西越少,就越能专注在某几件事情上。负空间给予了更多的呼吸空间(breathing room)。不要用太多的结构或不必要的视觉元素撑满屏幕。如果不确定就用 Xcode 默认的边距。苹果一贯使用 8 到 16pt 的边距。

清晰

让一切更明显。按钮应该不言而喻(self-explanatory),排版应该大且可读性强,并且拥有舒适的间距。内容应该能清楚表明 app 的用途。例如一款咖啡 app,就应该用咖啡豆、浓缩咖啡和咖啡色来提醒用户。

让文字更易读

标题应该大且对比度鲜明。说明应该简短、便于速读。正文应该有良好的间距,每行不要太长,避免阅读疲劳。

正文的大小应该至少有 11pt。最适合阅读的大小是 17pt 到 19pt。屏幕标题应该在 34pt 及以上,正文里的标题则应该在 20pt 到 30pt 之间。将文本和其他元素对其,便于扫视。最后,使用黑色或深灰搭配浅色背景来获得最佳对比度。

使用醒目的图标

图标不应该模棱两可;它们应该清楚地表明符号的含义。尽可能用文字来配合图标。如果你在某个地方使用了个一个图标,就不要再在其他地方使用这个图标或是该图标的变体了,因为这会混淆用户。同样,不要使用“返回”或“提交”这种通用文字,而应明确说明:“回到主页”或是“注册新账户”。设计清晰的矢量化图标,以便适应屏幕的不同像素密度。确保你的 assets 适用于 1x,2x(retina)和 3x(super retina)屏幕。

描述性界面

每一个界面都应该清楚地说明其功能。慎重地选择表示区域的图片。

有意义的颜色

颜色具有意义。红色、绿色、蓝色和中性色分别表示破坏性行为、肯定行为、链接和非活跃状态,明智得使用他们。不要把这些颜色用于其他目的以防混淆用户。例如,不要在“删除”按钮上使用绿色。

为触屏设计

按钮应该容易点击。宽度介于 30-60pt 之间。最佳尺寸是 44pt。在极少数情况下,文本里面的链接会设置为 22pt,但这样很难点击,所以要谨慎使用。即使是文字按钮也要有至少 30pt 的可点击区域。打开图片时,确保包含双指缩放功能并且充分利用滑动手势来单手返回到上一个界面。

横屏模式

用户在使用 iPad 或大屏 iPhone 时经常会使用横屏模式。在这种模式下,app 的状态栏会消失,导航栏和 tab bar 也会变小。有时会在左侧展示一条额外的菜单,就像 iPad 上那样。自适应布局是根据屏幕尺寸来调节布局的一种方式,现在是一种常规做法。感谢 Xcode 里的 Auto Layout 和 Size Classes,基于设备朝向来修改布局变得相当简单。所以不用担心在设计中采取这种方式。

深度

深度也许是最难理解的部分。这个概念非常抽象,但又强大且独特。深度的意思是所有东西都应该是情境式的、过渡式的。在现实世界里,从一个房间走到另一个房间,能够感觉到前进和距离。这样就不会迷路了。用户界面也应该采用相同的概念。

对人们和他们所处的现实的漠视是设计中唯一的过失。——迪特·拉姆斯

过渡性界面

iOS 最棒、最独特的一个方面就是它的动画。每个界面都从一个过渡到另一个。主屏幕放大到某个文件夹,然后再放大到某个 app。动画曾经很难实现,但感谢 Xcode 9,让动画变得更好做了。实际上你会在后面的 Swift 章节中学习到这些技巧。

模糊的背景

保持背景 UI 的上下文并不会有损内容的清晰度。模糊的背景不仅可以保持其原本的色彩,还能让前景更加聚焦。模糊不是什么新奇的发明,而是在现实生活中随处可见的东西;当你专注在某个东西上时,其它所有东西都会变得模糊。

你的创造应该比你认为人们所需要的好十倍,只有这样他们才会永远记住它,否则就不会留下什么印象。

动画

动画不仅用于从一个界面过渡到另一个界面,还可以给你的设计增加趣味性和乐趣。它可以强调某个本会被用户忽略的元素。动画还可以让通知更明显,天气应用的背景有雨落下时会更容易被理解。

虽然鼓励使用动画,但不要滥用。动画不应分散用户对内容的注意力,或是让用户晕头转向。不必要的、强制的动画会淹没用户。相反在用户处理内容时让动画变得显而易见,或是使用动画来优雅地将用户的注意力引导到某个正在进行的操作。

最后,动画的展示方式要真实一些。从底部滑上来的模态窗口,也应该从屏幕的底部消失。这样用户会喜欢上这些元素的物理属性,即使它们都是虚拟的。

手势

随着大屏时代的到来,返回按钮已经变得太高了,大拇指很难按到。所以手势虽然没有肉眼可见的按钮来得明显,但它可以用于延伸已经可视化的交互。尤其是对于资深用户来说会更加方便。所有人都在变成资深用户,所以我们需要更少的视觉提示以及更有用的功能。

3D TOUCH

3D Touch 可以让用户在 app 内部或外部快速访问某些选项。把 3D Touch 想象成 Mac 上的快捷键——可以让用户更快的完成重复操作。你需要设计快捷键以便让资深用户变得更有生产力。但就像快捷键一样,基本功能不应该只存在于 3D Touch 中,即使没有 3D Touch,用户也应该能够正常使用 app。

例如,用户可以用力按压 App Icon 来找到常用项目。在 app 内部用可以迅速一瞥邮件或链接而不用进入全屏状态。

声音

声音在 app 里用的不多,但播放声音可以把普通的操作变成真正有价值的体验。在推送通知等场景用户不用看手机都可以认出你的 app。如果声音给了用户的正确的印象就事半功倍。

好设计是通用的。不需要解释或长篇大论,用户自然会明白。

延伸阅读

苹果写的更抽象的 Human Interface Guidelines,一直保持更新,功能列表非常详尽。但因为它太详细了,所以我的建议是至少粗略的看一遍,然后只阅读你需要的部分。

移动开发 移动设计 Xcode 设计 UX UI Sketch Objective-C

转载于:https://my.oschina.net/u/2345393/blog/1615689

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34096182/article/details/92246047

智能推荐

240320俄罗斯方块java,JAVA游戏编程之三----j2me 手机游戏入门开发--俄罗斯方块_2-程序员宅基地

文章浏览阅读202次。packagecode;//importjava.awt.*;//importjava.awt.Canvas;//importjava.awt.event.*;//importjavax.swing.*;importjava.util.Random;importjavax.microedition.lcdui.*;//写界面所需要的包/***//***俄罗斯方块*高雷*2007年1..._240×320java游戏

在线电影院售票平台(源码+开题报告)-程序员宅基地

文章浏览阅读779次,点赞14次,收藏19次。然后,实现系统的数据管理和服务功能,包括用户的注册与登录、电影的分类与展示、电影信息的查询与推荐、座位的选择与预订、在线支付与电子票生成等。此外,随着在线视频平台的兴起,越来越多的人选择在线观看电影,这对传统电影院产生了巨大的冲击。研究意义: 开发在线电影院售票平台对于提升用户的观影体验、优化电影院的运营效率、促进电影产业的发展具有重要的意义。该系统旨在通过技术手段解决传统电影院售票中的问题,提供一个集成化的电影信息展示、座位选择、在线支付和用户评价平台,同时也为电影院和电影制作方提供有效的工具。

程序员熬夜写代码,用C/C++打造一个安全的即时聊天系统!_基于c++的即时聊天系统设计-程序员宅基地

文章浏览阅读509次。保护我们剩下的人的通话信息安全,使用TOX可以让你在和家人,朋友,爱人交流时保护你的隐私不受政府无孔不入的的偷窥.关于TOX:其他牛逼的软件因为一些细化服务问你要钱的时候, TOX分文不取 . 你用了TOX, 想干嘛就干嘛.网友评论:项目源码展示:源码测试效果:最后,如果你学C/C++编程有什么不懂的,可以来问问我哦,或许我能够..._基于c++的即时聊天系统设计

linux Java服务swap分区被占用内存泄露问题故障及解决方法_linux swap占用很高-程序员宅基地

文章浏览阅读584次。鱼弦:CSDN内容合伙人、CSDN新星导师、全栈领域创作新星创作者 、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构 https://github.com/Peakchen)当Java服务在Linux系统中运行时,可能会出现swap分区被占用的内存泄露问题,导致系统性能下降或者崩溃。下面是该问题的故障及解决方法、底层结构、架构图、工作原理、使用场景详解和实际应用方式、原理详细描述、相关命令使用示例以及文献材料链接。_linux swap占用很高

word中利用宏替换标点标点全角与半角-程序员宅基地

文章浏览阅读662次。Alt+F11,然后插入-模块:复制下面代码到编辑窗口:Sub 半角标点符号转换为全角标点符号()'中英互译文档中将中文段落中的英文标点符号替换为中文标点符号 Dim i As Paragraph, ChineseInterpunction() As Variant, EnglishInterpunction() As Variant Dim MyRange..._替换半角宏

Android WebView使用总结_android webview真正加载完成-程序员宅基地

文章浏览阅读2.8k次。#.简介: WebView是Android提供的用来展示展示web页面的View,内部使用webkit浏览器引擎(一个轻量级的浏览器引擎),除了展示Web页面外,还可与Web页面内的JS脚本交互调用。WebView内部的WebSetting对象负责管理WebView的参数配置; WebViewClient负责处理WebView的各种请求和通知事件,在对应事件发生时会执行WebViewClient的对应回调; ChromeWebviewClient辅助Webview处理与JS一些交互......_android webview真正加载完成

随便推点

bitcoin 调试环境搭建-程序员宅基地

文章浏览阅读1.6k次。_bitcoin 调试环境搭建

曲线生成 | 图解B样条曲线生成原理(基本概念与节点生成算法)-程序员宅基地

文章浏览阅读4.3k次,点赞93次,收藏94次。为了解决贝塞尔曲线无法局部修正、控制性减弱、曲线次数过高、不易拼接的缺陷,引入B样条曲线(B-Spline)。本文介绍B样条曲线的基本概念:节点向量、支撑性、次数阶数、加权性质、节点生成算法等,为后续曲线计算打下基础。_样条曲线生成

CDH安装宝典之ClouderaManager_/opt/cloudera/cm-agent/service/mgmt/mgmt.sh: line -程序员宅基地

文章浏览阅读902次。配置本地repo库下载我的阿里云盘文件文件放置#创建目录mkdir -p /opt/cloudera/parcel-repo/mkdir -p /opt/cloudera/cm/yum install createrepoCDH 6.2.0 的三个文件放到/opt/cloudera/parcel-repo/中,并且注意把sha256后缀的文件名修改为sha#执行createrepo命令生成rpm元数据 最终/opt/cloudera/parcel-repo/会多一个repodata目录_/opt/cloudera/cm-agent/service/mgmt/mgmt.sh: line 76: /usr/java/jdk1.8.0_181

uni.canvasToTempFilePath在app正常,微信小程序报错: fail canvas is empty-程序员宅基地

文章浏览阅读943次,点赞2次,收藏2次。uni.canvasToTempFilePath_uni.canvastotempfilepath

SDRAM笔记_sdram 干扰-程序员宅基地

文章浏览阅读3.1k次。SRAM :静态RAM,不用刷新,速度可以非常快,像CPU内部的cache,都是静态RAM,缺点是一个内存单元需要的晶体管数量多,因而价格昂贵,容量不大。DRAM:动态RAM,需要刷新,容量大。SDRAM:同步动态RAM,需要刷新,速度较快,容量大。DDR SDRAM:双通道同步动态RAM,需要刷新,速度快,容量大。........................_sdram 干扰

Excel转SQL语句_excel数据怎么生成sql语句-程序员宅基地

文章浏览阅读7.3k次。假设表格有A、B、C、D四列数据,希望导入到你的数据库中表格table,对应的字段分别是col1、col2、col3、col4。_excel数据怎么生成sql语句

推荐文章

热门文章

相关标签