0

我在一个有图像的应用程序中工作,现在的问题是 ipad3 有视网膜显示 ios5 中有什么方法可以识别设备是 ipad3 还是 ipad2。我希望我的应用程序在这两个设备。是否有任何解决方案

4

2 回答 2

3

你不能只使用@2x 后缀吗?

例如,您有用于常规 ipad 的图像 fancyBackground.png 和用于视网膜显示的 fancyBackground@2x.png?

当您执行此操作时,它将自动为设备具有的显示类型使用正确的图像(如果存在,视网膜设备将使用@2x 后缀的图像文件)。

您可以使用以下方法检测设备是否为 iPad:

UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad

您可以使用以下方法检测设备是否为视网膜:

[[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] >= 2.0
于 2012-05-11T05:05:33.047 回答
0
  • (NSString *)deviceVersion

{

size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *answer = (char*)malloc(size);
sysctlbyname("hw.machine", answer, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:answer encoding: NSUTF8StringEncoding];
free(answer);
NSLog(@"Platform: %@", platform);

return platform;

}

这是通过您可以检测天气设备是 ipad2、ipad3、ipod.. 的方法。您可以返回一个值并检查一个值,无论它是什么。

于 2013-06-12T09:54:16.043 回答