不同的设备屏幕尺寸

时间:2013-07-30 08:00:46

标签: ios objective-c

我正在学习iOS开发,我对这些设备尺寸略感困惑。 当我在模拟器中测试时,我有这样的选择:

Hardware -> Device -> iPhone
Hardware -> Device -> iPhone (Retina 3.5 inch)
Hardware -> Device -> iPhone (Retina 4 inch)

我应该针对所有这三个选项测试我的应用吗?相应屏幕尺寸对应哪部手机? (例如,当我们对3.5英寸进行测试时,它的意思是什么?对于iPhone来说它适合吗?)。

6 个答案:

答案 0 :(得分:1)

除非你的iPhone 5与以前的iPhone完全不同,否则你不需要过多担心屏幕尺寸。无论何时在iOS中执行任何类型的自定义渲染,都可以指定坐标,而不是像素。 iOS会根据您的设备自动计算像素值。

您需要关注的唯一一件事就是图像时的视网膜显示。为此,您只需要一个双倍大小的图像,最后使用@ 2x。例如,对于视网膜前电话,您可能会有一个100x100像素的图像称为image.png。然后,您需要一个名为image@2x.png的200x200像素。 iOS将在需要时自动加载视网膜版本。

如果您想为iPhone 5提供不同的用户界面,那么解决方案@ user2277872将会很好。

你一定要考虑使用Autolayout,因为这会使生活变得非常容易,特别是如果你不会为iPhone 5设置不同的UI,因为它会自动定位元素。您提供的一组预定义规则。例如,您可能希望按钮始终距离屏幕底部20px。无论屏幕是4英寸还是3.5英寸,Autolayout都会为您完成此操作。

答案 1 :(得分:0)

你应该对所有这些进行测试。首先是iPhone 4之前的设备,其次是iPhone 4和iPhone 4s。最后一个是iPhone 5。

答案 2 :(得分:0)

硬件 - >设备 - > iPhone

//iPhone 3gs & iPod Touch 3 & early

硬件 - >设备 - > iPhone(Retina 3.5英寸)

//iPhone4,4s & iPod Touch 4

硬件 - >设备 - > iPhone(Retina 4英寸)

//iPhone5 & iPod Touch 5

答案 3 :(得分:0)

嗯,不同的iPhone有不同的屏幕尺寸。例如,iPhone 4,4S的尺寸为

320 X 480

iPhone 5

1136 X 640 

因此,您需要做的是检查屏幕大小,或检查当前正在运行的设备类型,并让它返回。

这是在另一页上找到的答案:here

if([[UiDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){
 if(UIScreenOverscanCompensationScale==1136/640){
         //move to your iphone5 storyboard
         [UIStoryboard storyboardWithName:(NSString *) bundle (NSBundle *)];
  }
    else{
         //move to your iphone4s storyboard
         [UIStoryboard storyboardWithName:(NSString *) bundle (NSBundle *)];
  }
}

答案 4 :(得分:0)

3.5英寸的屏幕尺寸与iPhone 5的每个iPhone / iPod触摸屏的尺寸相对应.iPhone 5的屏幕为4英寸。

您必须针对所有屏幕尺寸测试您的应用。事实上,Apple建议使用自动布局确保即使屏幕尺寸不同,您的应用也会看起来不错,例如当用户拨打电话时状态栏变大。

答案 5 :(得分:0)

看到iPhone有两种不同的屏幕尺寸3.5英寸和4英寸,配备3.5英寸屏幕的iPhone可以选择具有视网膜和非视网膜显示,但是从iPhone 5开始的4英寸屏幕只有视网膜显示屏。 iPhone5的屏幕尺寸 320px568p ,iPhone5以下 320x480

所以如果您打算同时定位应用的屏幕尺寸,则应测试所有尺寸的iPhone