将UIImage设置为适合iPhone 5和iPhone 6

时间:2015-01-07 11:39:21

标签: ios objective-c

我们想在代码中设置一个适合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>

1 个答案:

答案 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语句。您可以检查平台字符串与另一个设备字符串。