最新最全的iPhone6/6 Plus适配详解
来源:互联网 发布:php网站内容管理系统 编辑:程序博客网 时间:2024/05/22 08:45
花了点时间, 重新整理了下iPhone的相关适配, 总结如下:
- iOS6之前, 屏幕适配一般使用autosize,设置视图与父视图的尺寸关系
- 缺陷:(Autosizing布局的不足)
- 1. 不能设置视图与视图之间的关系
- 2. 不能设置尺寸放大,缩小的最大值,最小值
- iOS6之后, 使用自动布局。AutoLayout
- iOS8 size classes (更加抽象, 正方形)
也就是说. 现在如果要适配iPhone6 Plus。 那么你需要另外提供一套@3x的图片. (之前只有一套常规, 一套@2x) 可以看Scale里的值。
简单的说:iPhone4、iPhone5、iPhone6这几个设备的ppi都是相同的,默认图片优先是@2x。iPhone6 Plus的像素密度更高,默认图片优先是@3x。
另外,iPhone6 Plus有一点和其他设备不同:在App内部获得的屏幕分辨率是1242*2208,但设备实际分辨率是1920*1080,这时系统会把整体的显示内容做一个缩放,downscale到1/1.15。这个特性在OSX上也有出现过:
从Xcode6 GM版本开始,模拟器新增了iPhone6和iPhone6 Plus两种,如果旧的工程直接跑到这两个模拟器中时,默认是"兼容模式",即系统会简单的把内容等比例放大,显示效果有些模糊但尚可接受。此时App内部获取到的设备分辨率和iPhone5是一样的:320*568 point。
也就是说, 就是你原先的工程, 没有适配iPhone6 plus。 但是在iPhone6 plus上运行, 也是没有问题的。 这时候设备分辨率会和5一样。320*568。即iPhone6 plus适配你的应用, 而不是你的应用去适配iPhone6 plus。这导致了6的高分辨率无用武之地。
所以,我们要手动开启高分辨率模式。
启用高分辨率模式
启用高分辨率模式有2个方法(目前我能找到的):
1.添加大屏的LaunchImage:
在Images.xcassets里,删除旧的LaunchImage组,然后新建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,然后在工程设置项里启用它:
上面两处设置,只要启用任意一个即可让App进入高分辨率模式;但如果两处都没有设置,则App会回退到兼容模式。鉴于现在不少App还需要兼容iOS5,而第一种方法在iOS5上可能有bug,所以这里推荐用第二种方法。
所以, 要做好现在这些设备的适配, 需要学会autolayout(自动布局), 当然,这只是个人建议。
另外, 还要多准备一份@3x的图片。
再有, 要开启高分辨率模式。
再有,仔细观察6+的模拟器, 它的桌面是可以横向显示的。 所以我们的应用在6+上也应该尽量适配横屏。
下面附带一些学习资料:
开始iOS 7中自动布局教程(一)
http://www.cocoachina.com/industry/20131203/7462.html
(翻译)开始iOS 7中自动布局教程(二)
http://www.cnblogs.com/zer0Black/p/3977288.html
大屏iPhone的适配
http://blog.ibireme.com/2014/09/16/adapted_to_iphone6/
无限互联iPhone6适配教程 全部视频云盘下载链接
下载链接:http://pan.baidu.com/s/1kTgK4AF 密码:p7yp
本文转载自http://blog.csdn.net/hitwhylz/article/details/41487681
- 最新最全的iPhone6/6 Plus适配详解
- 最新最全的iPhone6/6 Plus适配详解
- iPhone6/6 Plus适配详解
- iPhone6/6 Plus适配详解
- iPhone6/6 Plus适配详解
- 最全最新获取各种设备号 (含iphone6,iphone6 plus)
- 关于iPhone6/iPhone6 Plus适配的问题
- iPhone6 和 iPhone 6 plus的适配
- IOS Iphone 6 以及Iphone6 Plus 屏幕的适配
- ios 获取设备型号 最新(包含iphone6 and 6 plus)
- iOS关于iPhone6和iPhone6 Plus的屏幕适配问题
- iOS关于iPhone6和iPhone6 Plus的屏幕适配问题
- xcode5之前的旧项目适配iphone6和iphone6 plus
- 让APP快速适配iPhone6及Plus的诀窍
- IOS对iPhone6和plus的适配
- iphone6 和 iphone6 plus 屏幕适配问题
- iPhone6 & 6 Plus 视觉设计适配说明
- iPhone6 & 6 Plus 视觉设计适配说明
- oracle 判断某一个存储是否存在
- 对Java中引用、对象、基本类型等的理解
- java学习--多线程发生死锁的一个例子
- 第⼗六讲:网络编程
- 深入理解Asterisk体系架构
- 最新最全的iPhone6/6 Plus适配详解
- Android获取屏幕高度、标题高度、状态栏高度详解
- java分割字符串
- 自定义室内地图以及路径规划
- 解决uploadify插件浏览器打开页面崩溃问题
- VMware Horizon View 6.0桌面虚拟化与应用虚拟化(笔记)
- hibernate注解详解
- addslashes 和 mysql_real_escape_string
- HTML:表单