iPhone和iPad屏幕分辨率

iPhone和iPad屏幕分辨率,iphone,ipad,Iphone,Ipad,我正在开发一个通用应用程序。我想知道iphone的屏幕分辨率(320*480)和iPad的屏幕分辨率(768*1024)是否适用于所有iphone(iphone 3g、iphone 4等)和所有iPad。因为基于这些屏幕分辨率,我正在设置textField,UILabel在iPhone和iPad中的宽度。这些对视网膜和非视网膜有效吗?视网膜iPhone和iPad与非视网膜设备使用相同的坐标系。目前,所有iPad的逻辑坐标空间均为768x1024,除iPhone 5外,所有iPhone的逻辑坐标空

我正在开发一个通用应用程序。我想知道iphone的屏幕分辨率(320*480)和iPad的屏幕分辨率(768*1024)是否适用于所有iphone(iphone 3g、iphone 4等)和所有iPad。因为基于这些屏幕分辨率,我正在设置textField,UILabel在iPhone和iPad中的宽度。这些对视网膜和非视网膜有效吗?

视网膜iPhone和iPad与非视网膜设备使用相同的坐标系。目前,所有iPad的逻辑坐标空间均为768x1024,除iPhone 5外,所有iPhone的逻辑坐标空间均为320x480。您的代码应该在视网膜和非视网膜设备上都能正常工作

在iPhone 5上,你的应用程序将在屏幕顶部显示黑色条,除非你告诉iOS你想使用全屏,并将默认的.png作为扩展屏幕分辨率


您可以使用
[[UIScreen mainScreen]边界]
检查屏幕分辨率。该值在视网膜和非视网膜设备上相同。您可以通过检查
[[UIScreen mainScreen]刻度]
的值来检测视网膜设备;这里的值是每单位逻辑坐标空间的物理像素数(非视网膜为1.0,视网膜为2.0)。

UIKit
CoreGraphics
使用点而不是像素

视网膜和非视网膜设备具有相同数量的点,但像素数量不同。这意味着相同的点值可能意味着不同设备上的不同像素值

要回答您的问题,是的,相同的布局
UILabel
宽度将在视网膜和非视网膜设备上显示相同

来自Apple开发者文档:

在iOS中,所有坐标值和距离都使用浮点值指定,单位为点。点的可测量大小因设备而异,在很大程度上是不相关的。关于点的主要理解是,它们为绘图提供了一个固定的参考框架。

查看《视图编程指南》中的“点与像素”部分:

您可以随时使用这些功能获取操作系统,并对界面执行所需操作

var pattern:RegExp = /iphone5/i; 
var str:String = Capabilities.os; 

if (str.search(pattern)==0)
{
    trace('iPhone5 Detected. Alter height.');
}else{
   trace('No need to change dimensions if developing at 960x640');
}

是的,我在iPad和iPhone上放置了相同的768x1024和320x480。这意味着视网膜和非视网膜没有其他的Cordinate。这在方向(纵向和横向)上有区别吗?iPhone5呢?我是否应该再次更改代码的规格?这里有很多不同的问题。我建议您首先阅读苹果关于UIViewController:的文档,其中涵盖了许多主题。