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