首先看一张比较简单明了的 iPhone 6 与 iPhone 6 Plus 对比图,来自 PaintCode 的《The Ultimate Guide To iPhone Resolutions》:

iPhone 6 Plus 要比 iPhone 6 的屏幕宽 39 Point,分辨率更是高出不少,因为 iPhone 6 Plus 是按 3x 来渲染的,也就是说 1point=3pixes。用以下代码测试:

1
2
3
4
5
UIScreen *mainScreen = [UIScreen mainScreen];
     
    // 需要注意 coordinateSpace 属性 iOS 8 以上才支持
    NSLog(@"Screen bounds: %@, Screen resolution: %@, scale: %f, nativeScale: %f",
          NSStringFromCGRect(mainScreen.bounds), mainScreen.coordinateSpace, mainScreen.scale, mainScreen.nativeScale);

用 iPhone 6 Plus 测试输出结果为:

1
Screen bounds: {{0, 0}, {375, 667}}, Screen resolution: <UIScreen: 0x14f601fe0; bounds = {{0, 0}, {375, 667}}; mode = <UIScreenMode: 0x1780321c0; size = 1125.000000 x 2001.000000>>, scale: 3.000000, nativeScale: 2.880000

为什么宽度只是375而不是414呢

从上面的图片看知道它们有一个所谓的”Display Zoom”缩放模式,但不知道如何启用此模式。最初以为是在设置->通用->辅助功能里可以调整,只有一个缩放和更大字体之类的比较接近,但都不是。今天在显示与亮度中终于找到答案了,如下图:

设置为标准,再运行结果就正常啦:

1
Screen bounds: {{0, 0}, {414, 736}}, Screen resolution: <UIScreen: 0x146603a60; bounds = {{0, 0}, {414, 736}}; mode = <UIScreenMode: 0x178032da0; size = 1242.000000 x 2208.000000>>, scale: 3.000000, nativeScale: 2.608696

从输出数据中可以看出,即使 6 Plus 缩放到375模式,它加载的依然是三倍的图片资源。另外一点,标准模式下 6 Plus 才支持横屏模式,包括主屏幕。

6+的放大模式就是用6的分辨率
6的放大模式就是用5的分辨率

转载:iPhone 6 Plus 屏幕宽度问题 375 vs 414的更多相关文章

  1. 信不信由你!iPhone6屏幕宽度不一定是375px,iPhone6 Plus屏幕宽度不一定是414px

    看到这个题目你可能不信,引出这个问题的缘由是几次项目中Chrome模拟器和iPhone6真机预览效果不一致. 为什么在Chrome Emulation模拟手机页面和真机预览效果不一致? 以前觉得不外乎 ...

  2. iphone6 plus 为什么打印出的宽度是375

    首先看一张比较简单明了的 iPhone 6 与 iPhone 6 Plus 对比图,来自 PaintCode 的<The Ultimate Guide To iPhone Resolutions ...

  3. iphone及ipad屏幕尺寸参考

    初代iPhone 2007年,初代iPhone发布,屏幕的宽高是 320 x 480 像素.下文也是按照宽度,高度的顺序排列.这个分辨率一直到iPhone 3GS也保持不变.那时编写iOS的App(应 ...

  4. PC端判断屏幕宽度到达手机宽度的时候,直接跳转手机页面

    <script> // //判断屏幕宽度到达手机宽度的时候,直接跳转手机页面 // window.addEventListener("resize", function ...

  5. 移动端 css实现自适应正圆 ( 宽高随着手机屏幕宽度自适应 )

    序言:应朋友要求随手写了一下移动端 css实现自适应正圆 ( 宽高随着手机屏幕宽度自适应 ) ,以备后用 LESS代码: .adaptive-circle { margin: 50px auto 0; ...

  6. HTML5+CSS3的响应式网页设计:自动适应屏幕宽度

    这几天都在修改博客上面的样式.本来用的是d83.0的模板.自己又修改了许多地方,其中自己修改的一些地方在手机里面显示的效果不是很理想,于是想改成自适应的效果.对CSS3不是特别的熟练,只能去网上找找案 ...

  7. iPhone手机的屏幕尺寸、分辨率及适配

    1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS ...

  8. flexible.js在华某为手机上使用rem时,页面宽度超出手机屏幕宽度

    问题:手机端项目在华为的某款手机上显示时页面内容没有自适应手机宽度,出现横向滚动条 原因:手机获取手机屏幕宽度并计算出rem时出现偏差,明显宽余真实手机屏宽度 解决方案一:在页面里获取页面最外层dom ...

  9. 将网站添加到iPhone的主屏幕上

    我之前有篇文章介绍过如何将网站固定到Windows的开始菜单,并可以自定义图标.颜色以及Windows推送通知,其实Apple也有类似的功能,通过在网页的head部分添加link标记,在Safari浏 ...

随机推荐

  1. Number of Rectangles in a Grid

    Project Euler 85: Investigating the number of rectangles in a rectangular grid Number of Rectangles ...

  2. Java面试题-并发工具

    1. 如何实现一个流控程序,用于控制请求的调用次数?

  3. 使用Unity3d的Physics.Raycast()的用法做子弹射击

    Class Functions 1)static function Raycast (origin : Vector3, direction : Vector3, distance : float = ...

  4. 对于requirejs AMD模块加载的理解

    个人人为使用模块化加载的优点有三: 1,以我的项目为例:90%为图表展示,使用的是echarts,此文件较大,requirejs可以在同一个版本号(urlArgs)之下缓存文件,那么我就可以在访问登陆 ...

  5. 自定义一个compass可编译的目录结构

    在学习compass的过程中, 根绝文档说明,如果使用compass create myObject命令会创建一个标准的Compass项目目录结构,如下图: 此时如果使用compass compile ...

  6. T-SQL查询进阶—理解SQL Server中的锁

    在SQL Server中,每一个查询都会找到最短路径实现自己的目标.如果数据库只接受一个连接一次只执行一个查询.那么查询当然是要多快好省的完成工作.但对于大多数数据库来说是需要同时处理多个查询的.这些 ...

  7. C# DataGridView绑定数据源的几种常见方式

    开始以前,先认识一下WinForm控件数据绑定的两种形式,简单数据绑定和复杂数据绑定. 1. 简单的数据绑定 例1 using (SqlConnection conn = new SqlConnect ...

  8. 并发编程之--ConcurrentSkipListMap

    概要 本章对Java.util.concurrent包中的ConcurrentSkipListMap类进行详细的介绍.内容包括:ConcurrentSkipListMap介绍ConcurrentSki ...

  9. LIBSVM的使用方法

    [原文:http://wenku.baidu.com/view/7e7b6b896529647d27285276.html] 目  录 1 Libsvm下载... 3 2 Libsvm3.0环境变量设 ...

  10. 【暑假】[深入动态规划]UVa 10618 Tango Tango Insurrection

    UVa 10618 Tango Tango Insurrection 题目: Problem A: Tango Tango Insurrection You are attempting to lea ...