我创建了一个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];
}
答案 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决定添加其他屏幕尺寸,您不必更改代码中的任何内容。