在iPhone 5和其他设备上管理屏幕高度差异的最佳方法

时间:2012-12-03 19:02:19

标签: iphone ios uiview storyboard iphone-5

管理iPhone 5和其他版本之间的屏幕高度差异的最佳方法是什么?

如果我们使用storyboard或xib,它会相应调整大小。但如果整个视图是以编程方式构建的,那么我们如何处理这个问题。

目前,我所做的是获得整个屏幕高度,并根据此高度设置其余UI元素,如高度* .7或高度* .5 ..

但它仍然没有给我最好的体验。

谢谢,

2 个答案:

答案 0 :(得分:4)

您可以检查[UIScreen mainScreen].bounds.size.height(可能是,将其用作静态方法或执行#define)并根据屏幕高度进行屏幕设计。另一种方法是使用view.autoresizingMask属性来调整视图。

例如: -

view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

如果您要为iOS 6构建,则可以使用Auto layout功能。

答案 1 :(得分:3)

在你的viewDidLoad中查看屏幕尺寸就像这样...

- (void)viewDidLoad
{
   [super viewDidLoad];
    CGRect screenBounds = [[UIScreen mainScreen] bounds];
   if (screenBounds.size.height == 568)
   {
       //iPhone 5
   }
   else
   {
       // iPhone 4
   }

}