管理 iPhone 5 和其他版本之间屏幕高度差异的最佳方法是什么?
如果我们使用故事板或 xib,它会相应地调整它的大小。但是如果整个视图都是以编程方式构建的,我们如何处理这个问题。
目前我所做的是获得整个屏幕高度并根据此高度设置其余 UI 元素,例如 height * .7 或 height *.5 ..
但它仍然没有给我最好的体验。
谢谢,
管理 iPhone 5 和其他版本之间屏幕高度差异的最佳方法是什么?
如果我们使用故事板或 xib,它会相应地调整它的大小。但是如果整个视图都是以编程方式构建的,我们如何处理这个问题。
目前我所做的是获得整个屏幕高度并根据此高度设置其余 UI 元素,例如 height * .7 或 height *.5 ..
但它仍然没有给我最好的体验。
谢谢,
您可以检查[UIScreen mainScreen].bounds.size.height
(可能是,将其用作静态方法或执行#define
)并根据屏幕高度进行屏幕设计。另一种方法是使用view.autoresizingMask
属性来调整视图。
例如:-
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
如果您正在为 iOS 6 构建,您可以使用自动布局功能。
在您的 viewDidLoad 中,只需检查屏幕大小就像这样......
- (void)viewDidLoad
{
[super viewDidLoad];
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568)
{
//iPhone 5
}
else
{
// iPhone 4
}
}