2012-10-22 29 views
1

在我的项目中,我有3个xib文件来支持不同的设备。我需要支持的所有设备:iPhone 3,iPhone 4,iPhone 5当xib加载时iPhone 5迁移的大问题

有:

  • ViewController_iPhone_480.xib
  • ViewController_iPhone_568.xib
  • ViewController_iPad.xib

所以,主要的问题是我需要检测使用哪个iPhone并为其加载xib。

非常重要:我需要检查的不仅仅是iOS版本。而且我也不需要检查屏幕的高度或宽度,因为它非常奇怪(例如,如果来自Apple的某些其他设备将来具有相同的高度或宽度 - 它对我有什么帮助?)

你有没有办法检测代码中的iPhone 5?

谢谢。

回答

1
CGSize result = [[UIScreen mainScreen] bounds].size; 
result.height; // height in pixels 
result.width; // width in pixels 

只需检查结果并根据该结果做出决定。 iPhone 4的高度为480,iPhone 5的高度为568。

编辑:你可以检查当前设备上运行,然后再看高度和宽度。

NSString *deviceType = [UIDevice currentDevice].model; 
+0

您是否看过我的问题非常重要,不仅仅是检测宽度或高度,例如如果iPad mini具有相同的尺寸,我该如何帮助我?或iPod touch? –

+0

对不起,我只是编辑我的答案! – Carnal

+0

好的,谢谢我的理解。我认为这是很好的解决方案! :)非常感谢 –

0

您可以使用下面的代码来获取平台: -

[[UIDevice currentDevice] platformType] 
[[UIDevice currentDevice] platformString] 

第一个给出了设备类型(UIDevice4SiPhone)串接PLATFORMTYPE而第二个给出了设备类型的字符串(IPHONE4S )。

+0

不好意思,但在SDK中找不到platformType和platformString符号? –

+0

好吧,我正在使用它,检查你的IOS版本,你也可以使用模型只读属性 –