转自: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条设计原则的更多相关文章

  1. Srinath总结 架构师们遵循的 30 条设计原则

    作者:Srinath 翻译:贺卓凡,来源:公众号 ImportSource Srinath 通过不懈的努力最终总结出了 30 条架构原则,他主张架构师的角色应该由开发团队本身去扮演,而不是专门有个架构 ...

  2. 【转】Apache的架构师们遵循的30条设计原则

    本文作者叫Srinath,是一位科学家,软件架构师,也是一名在分布式系统上工作的程序员. 他是Apache Axis2项目的联合创始人,也是Apache Software基金会的成员. 他是WSO2流 ...

  3. 厉害了,Apache架构师们遵循的 30 条设计原则

    作者:Srinath 翻译:贺卓凡,来源:公众号ImportSource Srinath通过不懈的努力最终总结出了30条架构原则,他主张架构师的角色应该由开发团队本身去扮演,而不是专门有个架构师团队或 ...

  4. html5遵循的5个设计原则

    前面的话 实际上,html5并不是由w3c直接制定的,w3c的方向是xhtml2,而不是html5.当xhtml2脱离现实,无法付诸实践时,w3c工作组才将研究方向转向html5.为什么xhtml2从 ...

  5. Java程序员应该了解的10个设计原则

    引用: http://www.cnblogs.com/leehongee/archive/2012/03/18/2404760.html 面向对象设计原则是OOPS(Object-Oriented P ...

  6. Apache架构师的30条设计原则

    本文作者叫 Srinath,是一位科学家,软件架构师,也是一名在分布式系统上工作的程序员. 他是 Apache Axis2 项目的联合创始人,也是 Apache Software 基金会的成员. 他是 ...

  7. 如何像如何像 NASA 顶级程序员一样编程 — 10 条重要原则

    https://www.oschina.net/news/90499/nasa-programmer-rule?from=20171112#0-qzone-1-7898-d020d2d2a4e8d1a ...

  8. 设计模式学习--面向对象的5条设计原则之开放封闭原则--OCP

    一.OCP简介(OCP--Open-Closed Principle):Software entities(classes,modules,functions,etc.) should be open ...

  9. 设计模式学习--面向对象的5条设计原则之Liskov替换原则--LSP

    一.LSP简介(LSP--Liskov Substitution Principle): 定义:如果对于类型S的每一个对象o1,都有一个类型T的对象o2,使对于任意用类型T定义的程序P,将o2替换为o ...

随机推荐

  1. robotframework + appium实例

    Open Application http://localhost:4723/wd/hub platformName=Android platformVersion=4.4.2 deviceName= ...

  2. mwArray和cv::Mat转化函数 20170812

    不是新东西了,但是有必要专门把这两个函数拿出来记录一下. 需要注意的是,Mat2mwArry函数的输入Mat类型是 CV_8UC1,灰度图. 如果要传递多通道图像的话,需要先cv::split()成多 ...

  3. 一篇文章搞定git

    git学习 一.背景(当成故事去读) Linus 虽然创建了 Linux,但 Linux 的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为 Linux 编写代码,那 Linux 的代码是如何管 ...

  4. SysML——CSE 599W: Systems for ML

    CSE 599W: Systems for ML Assignments Materials Projects Schedule Schedule The schedule is tentative ...

  5. 求职-DB相关职位常见face题

    数据分析是个通用技能,适合各行各业,比如运营.产品.分析等职位都会要求会数据分析. 一.考察对数据分析岗位的理解与职业规划 数据分析师与数据工程师的区别在哪里? 为什么转行, 为什么没在公司内部转岗? ...

  6. MySQL日记

    MySQL日记 MySQL——day01:https://www.cnblogs.com/noonjuan/diary/2019/07/24/11241543.html MySQL——day02:ht ...

  7. Manthan Codefest 19 题解

    这套题还是有点质量的吧 -- 题目链接 A. XORinacci 傻叉签到题,因为异或的性质所以这个序列的循环节长度只有 \(3\) -- 查看代码 B. Uniqueness 因为序列长度乃至数的种 ...

  8. 洛谷 P5461 赦免战俘

    洛谷 P5461 赦免战俘 传送门 思路 洛谷7月月赛第一题 着实是一道大水题,然后我月赛的时候没做出来...... 就是一道大模拟题呀,直接dfs就好了,我是反着处理的,所以最后要输出\(1-a[i ...

  9. CF1163E Magical Permutation(线性基,构造)

    虽然做起来有一点裸……但是就是想不到啊…… 首先令 $d_i=p_i\oplus p_{i-1}$,那么 $d_i$ 都是 $S$ 中的数,$a_i=d_i\oplus d_{i-1}\oplus \ ...

  10. Linux性能优化实战学习笔记:第三十七讲

    一.上节回顾 上一节,我带你一起学习了网络性能的评估方法.简单回顾一下,Linux 网络基于 TCP/IP协议栈构建,而在协议栈的不同层,我们所关注的网络性能也不尽相同. 在应用层,我们关注的是应用程 ...