我们想在代码中设置一个适合iPhone5和iPhone6的图像。
我们有一张图片,其尺寸已准备好iPhone6
,我们希望将其缩放并放在iPhone5
上的相同位置。
所以,下一个代码在iPhone6
上运行良好,但在iPhone5上图像没有缩放,我猜是因为我采用了实际图像的大小,而不是屏幕尺寸的比例:
(我也在应用程序上发布图像)
UIImage *imgt=[UIImage imageNamed:@"title.png"];
UIImageView *title=[[UIImageView alloc] initWithFrame:CGRectMake((width-imgt.size.width)/2.0,imgt.size.height/2.0, imgt.size.width, imgt.size.height)];
title.image=imgt;
[self.view addSubview:title];
问题是,如何在iPhone5s 上获得缩放图像尺寸 ?他所做的是采取实际尺寸(iPhone6的大尺寸),但因为我知道图像尺寸是缩放的,所以我希望得到缩放尺寸 imgt.size.width
< / p>
答案 0 :(得分:0)
您必须制作一个缩放到iPhone 5 / 5s的单独图像。您可以在Photoshop或其他一些编辑程序中执行此操作。制作缩放图像后,您可以设置条件语句来检查用户正在使用的设备。我假设你知道如何做到这一点,但我会在下面放一些代码。
检查用户正在使用的设备
#include <sys/types.h>
#include <sys/sysctl.h>
- (NSString *) platform {
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *device = malloc(size);
sysctlbyname("hw.machine", device, &size, NULL, 0);
NSString *platform = [NSString stringWithUTF8String:machine];
free(device);
return platform;
}
这将生成可用于确定设备的NSString。然后,您可以使用它设置if then语句。您可以检查平台字符串与另一个设备字符串。