iOS应用开发应遵循的10条设计原则
转自:http://mobile.51cto.com/design-309719.htm
1.操控便捷
iOS应用的控制设计应该具有圆润的轮廓和程式化的梯度,操作便捷。
2.结构清晰、导航方便
充分利用iOS导航栏。尽量将所有的导航都安排在一个分层格式中,方便显示应用内的当前位置。
3.微妙清晰的用户反馈
使用动画显示用户的操作结果。一个经典的例子是:当用户长按进入“重新排列模式”时,应用会抖动。
4.确保外观和功能协调
如果是生产力类型的应用,可在背景中加入与之协调的装饰,注重最大限度地发挥功能效益;如果是游戏类应用,则应充分利用全屏,创造身临其境的体验。
确保应用的外观能很好地为其功能服务,苹果称之为“审美的完整性(aesthetic integrity)”。
5.突出首要任务
不要在屏幕上添加任何冗余的东西,尽量做到简洁,突出首要功能。如,苹果的便签应用只允许输入新的便签内容,电子邮件应用只允许读写邮件等。
6.提供一种逻辑路径
提供后退按钮和其他标记,方便用户了解在应用中的当前位置,清楚每一个屏幕的功能。最好能确保每个屏幕都只有一条特定路径,这样就能做到尽可能简洁,让用户产生熟悉的感觉。
7.使用基本术语
避免复杂生僻的术语,采用用户易于理解的交流方式。例如苹果的Wi-Fi网络就是一个很好的例子,他们本可以使用超级技术词汇,但实际采用的却是一些常见的基本术语。
8.考虑添加模拟现实元素
苹果的语音备忘录应用显示一张麦克风图片,地址簿应用看起来像一本真的地址簿。应用中添加的模拟现实元素越多,用户就能越快理解如何与应用进行交互。
9.考虑方向性
iOS用户使用设备时,有时喜欢横向模式,有时喜欢纵向模式,确保无论应用以哪种方式旋转,它的内容仍然是主要焦点。
10.确保触摸点适合指尖大小
苹果建议的触摸目标大小为44*44像素,苹果计算器应用中的按钮就是一个不错的例子。
iOS应用开发应遵循的10条设计原则的更多相关文章
- Srinath总结 架构师们遵循的 30 条设计原则
作者:Srinath 翻译:贺卓凡,来源:公众号 ImportSource Srinath 通过不懈的努力最终总结出了 30 条架构原则,他主张架构师的角色应该由开发团队本身去扮演,而不是专门有个架构 ...
- 【转】Apache的架构师们遵循的30条设计原则
本文作者叫Srinath,是一位科学家,软件架构师,也是一名在分布式系统上工作的程序员. 他是Apache Axis2项目的联合创始人,也是Apache Software基金会的成员. 他是WSO2流 ...
- 厉害了,Apache架构师们遵循的 30 条设计原则
作者:Srinath 翻译:贺卓凡,来源:公众号ImportSource Srinath通过不懈的努力最终总结出了30条架构原则,他主张架构师的角色应该由开发团队本身去扮演,而不是专门有个架构师团队或 ...
- html5遵循的5个设计原则
前面的话 实际上,html5并不是由w3c直接制定的,w3c的方向是xhtml2,而不是html5.当xhtml2脱离现实,无法付诸实践时,w3c工作组才将研究方向转向html5.为什么xhtml2从 ...
- Java程序员应该了解的10个设计原则
引用: http://www.cnblogs.com/leehongee/archive/2012/03/18/2404760.html 面向对象设计原则是OOPS(Object-Oriented P ...
- Apache架构师的30条设计原则
本文作者叫 Srinath,是一位科学家,软件架构师,也是一名在分布式系统上工作的程序员. 他是 Apache Axis2 项目的联合创始人,也是 Apache Software 基金会的成员. 他是 ...
- 如何像如何像 NASA 顶级程序员一样编程 — 10 条重要原则
https://www.oschina.net/news/90499/nasa-programmer-rule?from=20171112#0-qzone-1-7898-d020d2d2a4e8d1a ...
- 设计模式学习--面向对象的5条设计原则之开放封闭原则--OCP
一.OCP简介(OCP--Open-Closed Principle):Software entities(classes,modules,functions,etc.) should be open ...
- 设计模式学习--面向对象的5条设计原则之Liskov替换原则--LSP
一.LSP简介(LSP--Liskov Substitution Principle): 定义:如果对于类型S的每一个对象o1,都有一个类型T的对象o2,使对于任意用类型T定义的程序P,将o2替换为o ...
随机推荐
- c# 第11节 运算符大全
本节内容: 1:数学运算符 2:赋值运算符 3:关系运算符 4:布尔运算符 5:位运算符 6:其他运算符 1:数学运算符 2:赋值运算符 3:关系运算符 4:布尔运算符 5:位运算符 & 运算 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第十五周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第十五周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nw ...
- 201871010118-唐敬博《面向对象程序设计(java)》第十二周学习总结
博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...
- Visual Assist X(网上收集,仅供学习与研究,支持正版)
Visual AssistX是一款非常好的Microsoft Visual Studio插件,它可以完全集成到您的Microsoft开发环境中,升级了您的IDE, 在不改变编程习惯的同时就可以感受到V ...
- springboot启动时控制台不显示映射的URL
背景 今天,第一次使用 2.2.0 版本的springboot,在访问接口时发现访问不到,于是在控制台进行 URL 搜索,发现并相关没有内容 原因 springboot版本差异,切换回 2.0.5.R ...
- Redis删除特定前缀key的优雅实现
还在用keys命令模糊匹配删除数据吗?这就是一颗随时爆炸的炸弹! Redis中没有批量删除特定前缀key的指令,但我们往往需要根据前缀来删除,那么究竟该怎么做呢?可能你一通搜索后会得到下边的答案 re ...
- CSP2019题解
CSP2019题解 格雷码 按照生成的规则模拟一下即可. 代码 括号树 看到括号匹配首先想到用栈,然后又在树上就可以想到可追溯化栈. 令\(a_i=1\)表示\(i\)号节点上的括号为(,否则为), ...
- [LeetCode] 115. Distinct Subsequences 不同的子序列
Given a string S and a string T, count the number of distinct subsequences of S which equals T. A su ...
- IDEA中把普通的Java项目转换成gradle项目
1.在该项目的跟目录下创建build.gradle 和 settings.gradle文件,内容如下: build.gradle: plugins { id 'java' } group 'coco' ...
- 第01组 Beta冲刺(5/5)
队名:007 组长博客: https://www.cnblogs.com/Linrrui/p/12031875.html 作业博客: https://edu.cnblogs.com/campus/fz ...