首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >知道设备类型-- Retina/

知道设备类型-- Retina/
EN

Stack Overflow用户
提问于 2011-04-06 15:28:22
回答 3查看 15.1K关注 0票数 11

可能重复:

Detect Retina Display

我们如何从目标C代码中知道一个设备是否有视网膜显示器?

EN

回答 3

Stack Overflow用户

发布于 2011-04-06 15:34:27

代码语言:javascript
复制
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]
    && [[UIScreen mainScreen] scale] >= 2.0) {
    // Retina
} else {
    // Not Retina
}
票数 56
EN

Stack Overflow用户

发布于 2011-04-06 15:32:04

如果在视网膜上运行的是2.0,则可以检查scale属性在[UIScreen mainScreen]上,如果不是1.0,则可以检查它的属性。您还可以从当前的CoreGraphics上下文中获取刻度。

票数 5
EN

Stack Overflow用户

发布于 2011-04-06 15:36:53

我不认为你能直接决定。您必须根据从sysctlbyname获得的模型信息(请参阅iOS手册页)推断它。例如:

代码语言:javascript
复制
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);

会给你一个字符串,比如有视网膜显示器的"iPhone 3,1“,或者没有的”iPhone 2,1“。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5568911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档