这不应该更高吗?还是我错过了什么?
答案 0 :(得分:3)
Points Versus Pixels在这方面读得很好:
在iOS中,您指定的坐标之间存在差异 您的绘图代码和底层设备的像素。使用时 原生绘图技术,如Quartz,UIKit和Core Animation, 您可以使用逻辑坐标空间指定坐标值 以点为单位测量距离。这个逻辑坐标系是 与系统使用的设备坐标空间分离 用于管理屏幕上像素的框架。系统 自动将逻辑坐标空间中的点映射到中的像素 设备坐标空间,但这种映射并不总是如此 一个对一个。这种行为导致了一个重要的事实,你应该这样做 永远记住:
一个点不一定对应于屏幕上的一个像素。
答案 1 :(得分:2)
他们保持维度报告相同,以确保iPhone 4和iPhone 3 / 3G / 3G中的应用程序正确缩放。 1点不再是1像素。
基本上,您最常使用的高分辨率方面将是新的图形资源。还有一个命名约定,它允许手机自动确定是加载较低分辨率版本的资源(适用于320x480型号),还是较高分辨率版本(适用于640x960型号)。
前往Apple开发者网站,登录并抓取这些视频。很棒的东西出来了。
(男孩,我希望我不仅仅打破了NDA。)
答案 2 :(得分:0)
即使屏幕分辨率不同,视网膜和标准像素显示屏也使用相同的点系统。例如,这就是为什么在iPhone上 - 当询问window.frame.size .. - 返回320X480,即使iPhone有视网膜显示器。无论图像分辨率如何,iOS都会根据点网格将图像放置到位。该图像分辨率也可以处理标准或视网膜显示。
因此,请始终创建适合视网膜像素显示的图像。
随意打印自定义制图纸(包括尺寸和常用组件)以帮助勾勒出您的视图(并非所有内容都应以数字方式完成:D)。 http://achim.us/eli/iOS_Graph_Paper.pdf
答案 3 :(得分:0)
NSLog(@"%f", [[UIScreen mainScreen] scale]);
以上声明将为iPhone 4S,iPhone-5打印2,为iPhone 4打印1或以前的iPhone型号。