Objective c 视网膜图像的使用和设置UIImageView
这是我第一次需要使用名称格式为like:@2x和-568h@2x但我不明白什么时候-568@2x使用。这应该适用于iPhone 5及以上,但在测试时,我的iPhone 5S上没有使用此图像 我努力寻找这个问题,但找不到 问题: 所有设备上仅使用@2x映像,并且-568@2x完全被忽视了。因此,当我在故事板中设置UIImageView以填充整个屏幕时,屏幕上的图像上方有一个间隙。因此,在我的理解中,使用setImage,它将首先查看项目文件夹,然后查看资产目录。但这仍然不需要时间-568@2x图像,并始终拍摄@2x图像 我还为UIImageView设置了正确的自动布局,使其适合顶部、底部、左侧和右侧 代码/屏幕: 因此,我的项目文件夹中有两个图像,如您在图像上看到的: 下面是顶部的间隙: 然后在我的代码中,我使用此代码设置插座上的图像:Objective c 视网膜图像的使用和设置UIImageView,objective-c,uiimageview,Objective C,Uiimageview,这是我第一次需要使用名称格式为like:@2x和-568h@2x但我不明白什么时候-568@2x使用。这应该适用于iPhone 5及以上,但在测试时,我的iPhone 5S上没有使用此图像 我努力寻找这个问题,但找不到 问题: 所有设备上仅使用@2x映像,并且-568@2x完全被忽视了。因此,当我在故事板中设置UIImageView以填充整个屏幕时,屏幕上的图像上方有一个间隙。因此,在我的理解中,使用setImage,它将首先查看项目文件夹,然后查看资产目录。但这仍然不需要时间-568@2x图像
[[self image] setImage:[UIImage imageNamed:@"firstLaunch"]];
那么问题出在哪里呢?我是不是完全错了自动图像命名的工作原理
谢谢 您可以这样做:
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) {
self.view.layer.contents = (id)[UIImage imageNamed:@"firstLaunch@R4"].CGImage;
} else {
self.view.layer.contents = (id)[UIImage imageNamed:@"firstLaunch@2x"].CGImage;
}
除非他们最近更改了它,否则568名称仅适用于发布映像。在检查UI屏幕边界后,您必须自己加载其他图像,以查看您使用的设备。哦,真的,我很抱歉,这是为这种情况制作的。因此,这只适用于启动图像。。