发布于 2011-04-06 15:34:27
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]
&& [[UIScreen mainScreen] scale] >= 2.0) {
// Retina
} else {
// Not Retina
}发布于 2011-04-06 15:32:04
如果在视网膜上运行的是2.0,则可以检查scale属性在[UIScreen mainScreen]上,如果不是1.0,则可以检查它的属性。您还可以从当前的CoreGraphics上下文中获取刻度。
发布于 2011-04-06 15:36:53
我不认为你能直接决定。您必须根据从sysctlbyname获得的模型信息(请参阅iOS手册页)推断它。例如:
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);会给你一个字符串,比如有视网膜显示器的"iPhone 3,1“,或者没有的”iPhone 2,1“。
https://stackoverflow.com/questions/5568911
复制相似问题