1. iPad
现有型号:
iPad Pro, iPad Air, iPad mini 均配备Retina显示屏。早期还有iPad
依次对应的坐标系及分辨率:
iPad Pro 坐标系:1366 x 1024 分辨率:2732 x 2048
iPad Air 坐标系:1024 x 768 分辨率:2048 x 1536
iPad mini 坐标系:1024 x 768 分辨率:2048 x 1536
开发过程中图片可只设计2048 x 1536 分辨率下的。根据实际情况,也可选择1024x1536分辨率。
2. iPad 与iPhone编程的区别
> 屏幕尺寸/分辨率不同
iPhone:640x960,640x1136……
iPad : 2048x1536
> UI元素的布局
iPad屏幕比iPhone大,可容纳显示更多的UI元素,两者的排列方式略有不同.
例如: 在iPhone中使用的UITabBarController分栏控制器,虽然在iPad下也可以使用,但一般情况下考虑到用户体验,不会使用在页面下方显示分栏菜单的方式,而是使用在左侧显示竖向的分栏菜单,实现这种效果需借助与第三方库(当然也可以自己封装)。
[扩展] 第三方库实现竖向分栏控制器 FSVerticalTabBarController
https://github.com/futuresimple/FSVerticalTabBarController
此库实现了一个类似iOS原生UITabBarController的分栏效果,只不过是竖向的。
[*扩展*] 对于iPhone下的分栏控制器,若要显示不规则尺寸的tabBarItem,则需要自定义实现,例如某个分栏的尺寸比其他的分栏都大,特别是中间的,凸出效果的。
可参考:http://code4app.com/ios/自定义不规则TabBar/51886eee6803faf053000003
> 键盘
iPad的虚拟键盘右下角多了个退出键盘的按钮
> iPad特有的类
UIPopoverController 弹出控制器
UISplitViewController 主从视图控制器[自iOS8开始,此类也可以在iPhone应用中使用]
> 部分共有API的差异
同样的类在iPhone和iPad上的显示效果会略有不同,但大部分还是一致的。
> 屏幕方向的支持
在创建工程后,在info.plist中查看会发现iPhone下支持三种方向,而iPad下支持四种方向。
> 横竖屏支持建议
一般情况下iPhone应用支持一种屏幕方向即可,竖屏 or 横屏。
iPad应用最好支持横屏,竖屏两种方向,也是官方建议。但不强制,根据实际开发业务需求选择。
> 工程运行设备选择
在创建工程时,会有Device选择有三个值:
Universal 通用 iPhone iPad的都可运行
iPhone
iPad
若选择iPhone,也仍然要考虑在iPad上运行是否正常。苹果官方其中一条审核规则:在iPhone上运行的应用必须同样也能在iPad上可运行正常。一般就选择Universal。
若应用只在iPad上运行,则选择iPad.
> 开发流程
iPhone与iPad的开发流程是一致的,在 iPhone上所学的所有知识基本都可以应用在iPad上。
3. UISplitViewController
主-从(master-detail)容器视图控制器。在此界面中,在主视图控制器上的改变会驱动从视图控制器的内容改变,这两个视图控制器是并列显示的。常应用于iPad 应用中,一般作为window的根视图控制器rootViewController。自iOS8开始,此类也可以在iPhone应用中使用
纯代码方式实现:
注意:在删除Main.storyboard文件后,需要在info.plist中将 Main storyboard file base name 项删除,否则程序崩溃报错,提示找不到Main....
> 初始化
[[UISplitViewController alloc] init]
> 设置主,从视图控制器
splitViewController.viewControllers = @[masterViewController,detailVie