iPad开发基础知识

长平狐 发布于 2012/11/01 11:53
阅读 885
收藏 0

华为云11月刊推送:DIY微信问答机器人,高性能计算代码的20个技巧!>>>

转载自:http://www.cocoachina.com/bbs/simple/?t82559.html


iPad开发基础知识

iPad平板电脑程序开发基础规则

苹果在今天凌晨发布了10寸平板电脑:iPad。iPad也使用iPhone一样的操作系统,并且也能通过App Store购买软件。开发者们,是不是看到新的市场了?如果您想专门为iPad开发软件,请看看下面的iPad开发规则。

系统级别
- 同时只能运行一个程序,窗口占满全屏
- 程序需要快速进入和退出
- 为了安全考虑,程序在沙盒内执行。可以保存程序相关的文件和设置。只能通过系统提供的接口与其他程序通信。
- 每个程序在自己的虚拟内存空间内运行,但是可用虚拟内存只受限于物理内存的大小。就是说没有磁盘虚拟内存。
- 不支持自定插件和框架。

程序级别

- (新增) 程序界面需要支持任意方向。不象iPhone并不要求同时支持横竖屏。
- 程序主要使用ObjectiveC但是其他程序语言也可以使用
- 所有在iPhone中支持的类,同样在iPad中支持
- 内存使用retain/release模型管理
- 在需要的情况下,程序可以启动额外的线程。不过,基于视图的操作和大量图形操作必须在程序主线程内执行。

视图控制器

在iPad里,虽然仍旧支持导航条和Tab条,但是他们的作用逐渐减弱。因为你可以建立一个新的视图控制器,叫做分割视图控制器(Split view controller)。对于更复杂的数据内容,导航条和Tab条主要用来给低层次导航提供支持。

图形和多媒体

iPad支持和iPhone一样的图形与多媒体库。视频可以在任意视图内播放,无需始终全屏播放。

事件处理

更简单地侦测手势事件。

设备集成支持

iPhone很多特性都在iPad内被支持。如:
- 加速计
- 位置
- 地图
- 设置
- 地址簿
- 外设
- p2p蓝牙连接
iPad内没有摄像头,但是可以使用像册。

iPad设备特性

屏幕尺寸与iPhone不同,iPad是1024x768。

新增类和接口:
- Split views 分隔的视图。




- 弹出窗口



- 覆盖屏幕的内容可以订制显示风格,设置是否完全覆盖屏幕,还是覆盖窗口的某一部分
- 工具条可以放在视图的上方或下方
- 可以自定义虚拟键盘输入视图,与从前iPhone只能在输入框内弹出键盘不同,现在可以在任意获得first responder的对象内设置自定义的输入视图。
- 虚拟键盘上方还可以放置订制的输入工具

文字与显示支持

- 增加Core Text框架
- 自定义视图可接收键盘消息
- 增加语法检查类UITextChecker
- 支持自定编辑菜单类 UIMenuController (注:从前只能通过私有API实现)
- Core Animation增加CATextLayer类用于显示文字

支持外部显示器和投影

iPad可以外接显示器,可输出最大分辨率为720p(1280x720)。

文档处理支持

- 应用程序可以注册打开特定类型文件
- UIKit提供UIDocumentInteractionController类,用于与未知类型文件交互
- 在Info.plist中带有UIFileSharingEnabled键值的程序可以与用户桌面计算机共享文件。

但是注意,iPhone OS中并没有提供打开关闭文件的标准对话框,还是不鼓励进行这种系统级别的文件操作。

PDF生成

程序可以生成PDF文档。 

iPad软件提交注意事项

根据自己的iPad软件提交经验总结的注意事项,避免软件被苹果审核人员拒绝放行。

肯定会被拒的情况:
1. app命名:不要用类似*** pad的名字,但可以用*** for iPad,*** iPad version之类的名字;
2. popover相关:
  a. 除非处于任务编辑状态,popover应该随时可以通过点他范围之外的地方来dismiss掉,换句话说,不要用modal方式;
  b. 不要太大,宽度不要超过600;
  c. pickerview啥的一定要放在popover里面,宽度不要拉长
  d. alertview也要用popover的方式出来
3. 尽量不要使用全屏切换效果(我用了flip导致被拒,不知道curl行不行),好像一定要用全屏的话,可以用modal的方式,这一点我也理解的不是很明 白;

不会导致被拒但是建议改进的:
1. 尽量支持4个方向
2. 少用alertview和全屏视图切换
3.尽量多用ipad相关的UI element,popover,splitview啥的

总的感觉,苹果审核比较注重要体现出他和iPhone App的不同之处,以及保证用户体验的流畅性。


iPad用户体验准则

iPad用户体验最主要体现在内容和交互: 

  • 淡化程序UI,以便用户关注所需的 内容。
  • 美观的内容形式,富有真实感。
  • 充分利用设备的性能来增强内容的交互性。

支持所有方位
优秀iPad程序的其中一个重要因素是可以在所有方位上运行。竖向的大屏幕可以满足用户浏览内容的需求


  • 显 示程序为正常显示方式,无论当前iPad是什么方位。避免使用UI元素来告知用户旋转设备。支持180度旋转。
  • 可以特殊处理输入式旋 转动作。有些游戏把旋转设备当成操作方式,这时候横竖屏切换时,可不改变游戏的显示方位。
增 强交互
最好的iPad程序在用户执行明确的任务时提供新颖的交互方式。不要为了填满整个大屏幕而增加一些和主要任务没有直接关联的功 能,而是提升程序的用户体验。
例如读书程序中容许用户阅读时如能保留路径会提升阅读体验,不需要跳转到另外一个页面而是使用气泡框来变更 路径。程序可以让用户在文本中增加书签和注释,帮助用户交换书目或者对比阅读进度。
信息扁平化
iPad的大屏幕和新 UI元素可以显示更多的信息,使用的得当可以避免寻找信息时跳转的次数过多,因此也改变iPhone的单屏显示结构。

使用分栏。 两级的内容 同时显示使得信息扁平化。


使用气泡框。 顶部的气 泡框可以显示控件或者工具,不必切换屏幕即可完成操作。

工具栏中显示分段控件。 分 段控件可以显示并列的信息。

使用标签栏。 标签栏显 示不同种类信息或者是不同的程序模块。
减少全屏切换
相似的视觉元素,而在某一区域变更内容。普遍的规则是宁愿转换单 独的视图或者组件,也不全屏切换,保证视觉稳定性,帮助用户理解自己所处的位置。
增强协作和联系
用户将iPad视为私人设备,但是它合宜的尺寸可以加强真实的协作和分享。
真实感

程序显示和现实生活越为相似,用户就越容易理解程序如何操 作并喜欢使用。但也不必过于精确,通常夸张的事物看起来更为真实并能传递更多的意义,当做是和用户交流并表述程序本质的一次机会。使用动画进一步地增强程 序的真实感。通常,动作的真实感比程序的外观更为重要,不符合物理规律的动作会让用户感觉到迷惑。
令人惊叹的图形

高分辨率的iPad屏幕所支持丰富、美观和动人的图形 对用户富有吸引力,因此可以尝试增加程序中图形的深度和细节。
弱化界面控件
通过设计程序中的UI来组织信息框架,减 少控件的数量和淡化显示效果,创建和程序风格相符的控件,这样既不突出,但又易于发现。
最少的模态对话框
模态对话框打断用户的工作流,需用在合适的情况下:
  • 有 必要吸引用户注意力的时候。
  • 避免用户因误操作而导致的数据丢失。

重新思考列表
列表气泡框和模态视图有些相似,当气泡框显示时,不能操作主视图。但模态视图是模态的。然而气泡框可以用在两种途 径:
  • 模态。气泡框出现时,周围的界面淡化, 需要一个明确的操作取消。
  • 非模态。点击气泡框周围的界面也可以取消气泡框。

如果在iPhone中使用了模态视图,可以考虑可以气泡框替代它。以下问题可以帮助你决定气泡 框的使用是否合理:
  • 是否需要不同类型的输入?如果是,使用气泡框。气泡框更适合 显示一个选择器或者列表选项。
  • 是否需要用户穿过多级视图。如果是,使用气泡框。气泡框的结果适合显示多级页面,因为对主视图的改变较 小。
  • 可能在主视图操作才可以完成任务吗?如果是,使用非模态气泡框。因为用户点击主视图即可取消气泡框,容许用户中止操作气泡框并返 回主视图。
  • 任务需要用户深度投入并且是程序的一个主要功能?如果是,可能需要使用模态视图。模态视图的语境转换帮助用户在任务上集中 注意力,较大模态视图便于用户输入大量的字符段。

从另一方面而言,这个任务代表程序功能的重要一部分,但要 是不需要用户深度投入注意力的话,气泡框是更好的选择,轻量级的视觉对于频繁执行的任务而言更为亲切。
是否任务执行只有一次或者很少,就 像安装任务。如果是,考虑使用模态视图。用户不会介意为了完成此类任务而停留在当前界面。
限制模态任务的复杂度
用户 乐于在一个模态视图中完成一个子任务,因为语境的转换清晰和短暂的。但是如果子任务太复杂,用户会忽视主任务,当模态视图全屏显示并包含多个子视图时,这 种危险会增加。如果模态任务非要包含子视图,确保给予用户一个单独和层次清晰的路径,避免迂回。提供一个明显和安全的方式退出模态任务,用户能预见此操作 的后果。
淡化文件管理
尽管iPad程序容许用户创建和操作文件,这并不意味着用户应该对于文件系统有意识。iPad 没有像Mac OS一样的文件搜索,用户也不必想在电脑上一样和文件进行交互。用户不应该考虑文件类型和位置,比如:
  • 打开和保 存对话框中出现文件层级关系。
  • 文件的访问权限信息。
一个文件处理程序鼓励用户预览内容。如果iPad 程序容许用户创建和编辑文档,最好提供文档种类选择器便于用户打开一个现有文档或者创建新文档。理想情况下的文档选择器为:
  • 高 度图形化。用户看到文档的视觉形式时能很容易识别出需要的文档。
  • 用户使用最少的触摸手势找到需要 的内
    与iPhone程序不同,iPad的工具栏在顶 部,iPad宽大屏幕可以显示工具栏中的所有功能。
    立即启动
    iPad程序启动时用户无须等待即可开始操作。当启动 时,iPad程序:
    • 显示程序在当前方位上的启动图片,减轻用户的等待感,让用户知道程序仍在运行。
    • 避免程 序启动变慢。启动图片
    • 尽快和合理地保存数据。
    • 退出时保存界面的每一个细节。

iPad软件界面设计基本规范
iPad平台特点
1 大屏幕,分辨率 1024x768
2 再次强调没有固定的方向,必须四个方向都支持。
3 可以外接键盘
4 可以放置设备,与台式机同步

iPhone与iPad的共同特点

- 内存有限
- 同时运行单个程序
- 在设置功能里放置程序选项
- 设备方向可以改变
- 最小化的帮助,让用户直接就能看懂
- 程序响应手势而不是鼠标
- 运行源生程序、Web程序或者二者兼备
- 图片深度24位(RGB各8位),另带8位alpha通道,建议使用PNG格式图片

界面简单建议
- 支持所有方向
注意要为每个方向都提供一个启动图片
- 增强交互而非只增加功能
- 使用split view, 导航和弹出窗口来平整信息层级
- 减少全屏切换,仅仅改变需要改变的部分
- 支持协作和互联
- 如果可能,增加真实感以及物理维度到应用程序里,尽可能像真实世界的物品以便用户易于上手
- 界面漂亮 用户喜爱
- 尽量让用户更关注内容而不是界面
- 尽可能减少强制用户模式化操作
- 减少使用列表,改变为其他形式
- 尽量支持多手指手势
- 让用户模式化操作的地方可以用弹出窗口
- 限制复杂的模式化操作
- 减小文件操作尤其尽量让用户感觉不到文件系统的存在
- 仅仅在必须的情况才提示用户保存
- 将工具条整合在界面上部
- 尽可能快速启动程序
尽量使用截图作为启动画面
不要在启动时显示关于或者splash screen
恢复上次运行状态
尽量不要让用户提供设置信息
- 程序可能随时停止
- 为每个方向都准备启动画面
- 建立漂亮的图标(真机上的显示图标)图片名必须为Icon.png,图片大小必须设置为
72x72
尺寸:72x72
和iPhone程序类似,iPad程序的图标会自动增加:圆角、阴影和高光。
图标标准:
> 90度直角边
> 没有高光
> 不带alpha通道透明
- 遵循已有规范 


原文链接:http://blog.csdn.net/xunyn/article/details/8065435
加载中
返回顶部
顶部