我知道iPhone 5的尺寸是640 * 960,iPhone 4和以前的iPhone的尺寸是320 * 480。现在,我很困惑。如果我想让我的应用程序在这些不同的iPhone上运行,如何计算imageview或按钮的帧。例如在viewDidLoad中,我有一张图像,它的大小为630 * 100,名称为someImage@2x.png,另一个大小为315 * 50,名称为someImage.png。图像相同,但大小不同。然后我创建了一个带有CGRectMake(5,5,315,50)框架的UIImageView,它的尺寸为320 * 480。我是否必须(iphone5)然后使用CGRectMake(10,10,630,100)的帧为UIImageView设置另一个帧?我是否必须为这两种尺寸准备两个不同的UIImageView框架?
最佳答案
iOS上的所有坐标和尺寸都使用点而不是像素。普通iPhone屏幕(320x480)上的1点等于1像素。视网膜iPhone屏幕(640x960)上的1点等于2像素。
因此CGRectMake(5, 5, 315, 50)
在视网膜屏幕上自动转换为x = 10,y = 10,宽度= 630,高度= 100。