iPhone X背景图像的宽高比

时间:2017-11-30 07:03:39

标签: ios iphone-x uiimageasset

我有一个应用程序,其图像资源包含3个大小的图像@ 1,@ 2,@ 3作为背景图像。

我将启动画面应用到我的项目中,以使应用程序在iPhone X上显示为全屏。如您所知,启动屏幕资产具有iPhone X的大小,因此启动屏幕看起来没问题。 但是,我的背景图像看起来不太好,因为@ 3s的宽高比适用于加号设备而非iPhone X.

我应该在哪里添加合适尺寸的图片?

编辑:我的问题不是关于启动屏幕图像。它是关于我在常规ViewController上使用的背景图像

2 个答案:

答案 0 :(得分:1)

这不是最好的方法,但我通过创建另一个图像资源并将iPhone X背景图像放到其@ 3区域来解决它。然后在代码中我检查它是否是iPhone X屏幕,如果是,我使用带x背景的图像资源,如果其他使用默认图像资产。

    - (void) setBackgroundImage{
    // Load launch image
    NSString *launchImageName;
    if ([UIScreen mainScreen].bounds.size.height == 812){
        launchImageName = @"PublicBackground_X"; // iPhone X
    }
    else {
        launchImageName = @"PublicBackground"; // Other iPhones
    }

    UIImage *image = [UIImage imageNamed:launchImageName];
    [self.backgroundImage setImage: image];
}

编辑: 我不知道为什么我声名狼借。没有其他解决方案适合我。剪裁图像不可接受如果你有正确的解决方案

答案 1 :(得分:0)

您应该尝试使用启动故事板,而不是将图像用作启动屏幕。

这可能包含一个包含UIImageViewcontentMode = .aspectFill的视图控制器。这将剪切两侧的一些图像,但这可能是您可以接受的。