UIView适用于iphone 5和iphone 4

时间:2013-04-18 11:20:51

标签: iphone objective-c uiview

我创建了一个UIView,其中有两个xibs来支持iphone5和iphone4。视图宽度为(iphone5-470)和(iphone5-400)。我已经通过检查iphone5或iphone4的条件初始化了这个视图。但是在运行应用程序时,似乎需要使用iphone5。

CategoryView *puzzleView = [[CategoryView alloc] initWithFrame:CGRectMake(0, startY, levelScrollView.frame.size.width, 190)];
BOOL isiPhone = IS_IPHONE5([[UIScreen mainScreen] bounds].size.height);
if (isiPhone)
{
    puzzleView = [[[NSBundle mainBundle] loadNibNamed: @"CategoryView5"  owner:self options:nil] objectAtIndex:0];
}
else 
{
    puzzleView = [[[NSBundle mainBundle] loadNibNamed: @"CategoryView-iphone"  owner:self options:nil] objectAtIndex:0];
}

1 个答案:

答案 0 :(得分:1)

问题在于这一行:

BOOL isiPhone = IS_IPHONE5([[UIScreen mainScreen] bounds].size.height);

不,你只是在检查size.height是不是0

改为:

BOOL isiPhone = IS_IPHONE5([[UIScreen mainScreen] bounds].size.height > 480.f);

一个人不应该这样做。只需制作一个视图,让它随着屏幕尺寸的增长而增长是一个更好的选择。只是因为Apple决定添加其他屏幕尺寸,您不必更改代码中的任何内容。