不使用Autolayout调整iPhone 5和iPhone 3.5的屏幕尺寸

时间:2014-01-14 09:56:32

标签: ios iphone xcode

您好我正在开发IOS应用程序。我不使用autolayout。如果我的应用程序运行在iPhone 5(4“)模拟器上,然后显示黑色的顶部和底部。模拟的metricks大小也没有。我能做什么。

enter image description here

Thanx

2 个答案:

答案 0 :(得分:1)

只需将名为Default-568h@2x.png的启动画面图像添加到项目文件夹中,黑色空间将自动删除。

答案 1 :(得分:0)

使用UIView autoresizingMask属性。

您还可以检查iPhone 5的屏幕尺寸和加载特定图像。

我用的是这样的 -

@implementation UIImage (iPhone5)

BOOL iPhone5Screen();

+(UIImage*)imageNamed5:(NSString *)name
{
    UIImage *retImage = nil;
    if (iPhone5Screen()) {
        NSString *imageName = [name stringByDeletingPathExtension];
        if ([imageName hasPrefix:@"@2x"]){
            imageName = [imageName substringToIndex:imageName.length - 3];
        }

        NSString *iPhone5ImageName = [NSString stringWithFormat:@"%@-568h", imageName];

        retImage = [UIImage imageNamed:iPhone5ImageName];
        if (retImage) {
            return retImage;
        }
    }

    return [UIImage imageNamed:name];
}

BOOL iPhone5Screen()
{
    BOOL bRet = NO;
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
        bRet = NO;
    }
    else if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
        CGSize result = [[UIScreen mainScreen] bounds].size;
        if(result.height == 568){
            bRet = YES;
        }
    }

    return bRet;
}

@end