我有一个应用程序,它的图像资产具有 3 个尺寸图像@1、@2、@3 作为背景图像。
我在我的项目中实现了启动屏幕,以使应用程序在 iPhone X 上被视为全屏。如您所知,启动屏幕资产具有 iPhone X 的大小,因此启动屏幕看起来不错。但是,我的背景图片看起来不太好,因为 @3s 的宽高比适用于 plus 设备而不是 iPhone X。
我应该在哪里添加合适尺寸的图像?
编辑:我的问题不是关于启动屏幕图像。这是关于我在常规 ViewController 上使用的背景图像
我有一个应用程序,它的图像资产具有 3 个尺寸图像@1、@2、@3 作为背景图像。
我在我的项目中实现了启动屏幕,以使应用程序在 iPhone X 上被视为全屏。如您所知,启动屏幕资产具有 iPhone X 的大小,因此启动屏幕看起来不错。但是,我的背景图片看起来不太好,因为 @3s 的宽高比适用于 plus 设备而不是 iPhone X。
我应该在哪里添加合适尺寸的图像?
编辑:我的问题不是关于启动屏幕图像。这是关于我在常规 ViewController 上使用的背景图像
这不是最好的方法,但我通过创建另一个图像资产并将 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];
}
编辑:我不知道为什么我的名声不好。没有其他解决方案对我有用。如果你有正确的分辨率,剪裁图像不应该是可以接受的
与其使用图像作为启动屏幕,不如尝试使用启动故事板。
这可能包含一个视图控制器,其中包含一个UIImageView
, 和contentMode = .aspectFill
. 这将剪裁两侧的一些图像,但这可能对您来说是可以接受的。