IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

大屏 iPhone 的适配

Garan no dou 2016-02-11 14:56:27 累计浏览 2,246 次
本机暂存

   自从苹果出了大屏 iPhone 后,iOS 开发也要做适配了,想必 Android 程序员正在偷着乐呢 :lol: , 这里大概总结下这几天了解到的大屏适配的注意事项。

启用高分辨率模式

   从 Xcode6 GM 版本开始,模拟器新增了 iPhone6 和 iPhone6 Plus 两种,如果旧的工程直接跑到这两个模拟器中时,默认是"兼容模式",即系统会简单的把内容等比例放大,显示效果有些模糊但尚可接受。此时 App 内部获取到的设备分辨率和 iPhone5 是一样的:320*568 point。

   启用高分辨率模式有2个方法(目前我能找到的):

   1.添加大屏的 LaunchImage:

   在 Images.xcassets 里,新建或更改 LaunchImage 组,添加对应高分辨率的图片。对此,这里有一篇更详细的图文介绍:How to Add a Launch Image for the iPhone 6。如果想要快速测试一下新的效果,这里有3张示例图片下载。

   2.添加 Launch Screen File

   Launch Screen 是 Xcode6 和 iOS8 新加的功能,它用一个 xib 文件来作为启动画面。App 在旧版 iOS 启动时,该属性会被自动忽略,不会造成异常。

   首先,点击 New File ->iOS User Interface ->Launch Screen,然后在工程设置项里启用它:

   LaunchFile

   上面两处设置,只要启用任意一个即可让 App 进入高分辨率模式;但如果两处都没有设置,则 App 会回退到兼容模式。鉴于现在不少 App 还需要兼容 iOS5,而第一种方法在 iOS5 上据说可能有bug,所以这里推荐用第二种方法。

资源的显示

   一图胜千言,首先这里是一个完整的图表:  http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions

   简单的说:iPhone4、iPhone5、iPhone6 这几个设备的 ppi 都是相同的,默认图片优先是 @2x。iPhone6 Plus 的像素密度更高,默认图片优先是 @3x。

   另外,iPhone6 Plus 有一点和其他设备不同:在 App 内部获得的屏幕分辨率是 1242*2208,但设备实际分辨率是 1920*1080,这时系统会把整体的显示内容做一个缩放,downscale 到1/1.15。这个特性在 OSX 上也有出现过:

   DownScale

   下面列举一些可能有用的数据:

.entry-content tr th, .entry-content thead th {color: #555;font-weight: bold;padding: 12px 10px;}

iPhoneiPhone4iPhone5iPhone6iPhone6+
Point320*480320*480320*568375*667414*736
Pixel320*480640*960640*1136750*13341242*2208
Pexel(设备)~~~1920*1080
Scale12223
PPI163326326326401

同分类推荐文章

  1. 「置顶」我做了什么 (2026-05-05 12:13:28)
  2. 万字长文推演:手机不再从 App 开始,Agent OS 如何接管任务入口 (2026-04-28 14:57:22)
  3. Android Perfetto 系列 10 - Binder 调度与锁竞争 (2025-11-16 15:33:30)

查看更多 移动开发 文章 →

建议继续学习

  1. App的成本 (累计阅读 7,584)
  2. iPhone下的libcurl with SSL for iOS (累计阅读 6,350)
  3. iOS的定位原理揭秘 (累计阅读 5,946)
  4. iOS内存暴增问题追查与使用陷阱 (累计阅读 5,840)
  5. 手机界面适配 (累计阅读 5,822)
  6. IOS APP设计流程 (累计阅读 5,085)
  7. 在Visual Studio中使用MonoTouch开发iOS应用程序(上):环境配置 (累计阅读 5,076)
  8. iOS push服务 (累计阅读 4,943)
  9. 有关思维,有关Ipad一个Bug的故事 (累计阅读 4,770)
  10. IPhone上的邮件推送 (累计阅读 4,617)