我正在一个应用程序中我有图像,现在的问题是ipad3有视网膜显示ios5中有任何方法,通过它我可以识别该设备是ipad3还是ipad2.I希望我的应用程序工作在这两个设备中。是否有任何解决方案
答案 0 :(得分: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
答案 1 :(得分:0)
{
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 .. 你可以返回一个值并检查一个值,无论它是什么。