我有一个应用程序,其图像资源包含3个大小的图像@ 1,@ 2,@ 3作为背景图像。
我将启动画面应用到我的项目中,以使应用程序在iPhone X上显示为全屏。如您所知,启动屏幕资产具有iPhone X的大小,因此启动屏幕看起来没问题。 但是,我的背景图像看起来不太好,因为@ 3s的宽高比适用于加号设备而非iPhone X.
我应该在哪里添加合适尺寸的图片?
编辑:我的问题不是关于启动屏幕图像。它是关于我在常规ViewController上使用的背景图像
答案 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)
您应该尝试使用启动故事板,而不是将图像用作启动屏幕。
这可能包含一个包含UIImageView
且contentMode = .aspectFill
的视图控制器。这将剪切两侧的一些图像,但这可能是您可以接受的。