【问题标题】:Aspect Ratio of Background Image for iPhone XiPhone X 背景图像的纵横比
【发布时间】:2018-05-14 00:59:05
【问题描述】:

我有一个应用程序,其中包含 3 张尺寸图像 @1、@2、@3 作为背景图像。

我在我的项目中实现了启动屏幕,以使应用程序在 iPhone X 上被视为全屏。如您所知,启动屏幕资源具有 iPhone X 的大小,因此启动屏幕看起来不错。 但是,我的背景图片看起来不太好,因为@3s 的宽高比适用于 plus 设备而不是 iPhone X。

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

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

【问题讨论】:

  • 请在应用启动时出现闪屏时截取屏幕截图,并在此处附上相关问题,以便更好地了解发生了什么。
  • 对不起,我不能分享截图,因为这是我公司的一个项目,这是被禁止的:(顺便说一句,你为什么需要启动画面?我的背景图片不是启动画面有问题

标签: ios iphone-x uiimageasset


【解决方案1】:

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

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

【讨论】:

  • 对不起,如果我不清楚,但我的问题是关于我在常规 ViewController 上使用的背景图像。我已经在使用 LaunchImage 作为启动画面了。
【解决方案2】:

这不是最好的方法,但我通过创建另一个图像资源并将 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];
}

编辑: 我不知道为什么我的名声不好。没有其他解决方案对我有用。如果你有正确的分辨率,剪裁图像是不可接受的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多