【问题标题】:How can I detect the dpi on an ipad mini?如何检测 ipad mini 上的 dpi?
【发布时间】:2012-10-22 02:32:36
【问题描述】:

我有一个 ipad 应用程序,它带有一些非常小的接触点,在普通 ipad 的 10 英寸屏幕上几乎无法接受。我希望能够获得设备 dpi,这样我就可以扩大 mini 的小元素的大小以及将来发布的任何 mini 的大小。

【问题讨论】:

标签: ios ipad ipad-mini


【解决方案1】:

DPI 为每英寸 163 像素 (ppi):

http://www.apple.com/ipad-mini/specs/

您无法以编程方式获取此信息,因此您需要将其作为常量存储在代码中。

【讨论】:

  • 我认为他想以编程方式获取 DPI 的值。
【解决方案2】:

您无法直接获得 dpi(或更准确地说是 ppi)值,因为您必须知道物理屏幕的毫米数(或英寸数)。
您首先必须检测它是否是 iPad mini,然后将每个(已知)设备的 dpi 值存储在您的应用中。

在撰写本文时,此代码检测到 iPad mini:

#include <sys/utsname.h>
NSString *machineName()
{
    struct utsname systemInfo;
    if (uname(&systemInfo) < 0) {
        return nil;
    } else {
        return [NSString stringWithCString:systemInfo.machine
                              encoding:NSUTF8StringEncoding];
    }
}

// detects iPad mini by machine id
+ (BOOL) isIpadMini {

    NSString *machName = machineName();
    if (machName == nil) return NO;

    BOOL isMini = NO;
    if (    [machName isEqualToString:@"iPad2,5"]
         || [machName isEqualToString:@"iPad2,6"]
         || [machName isEqualToString:@"iPad2,7"])
    {
        isMini = YES;
    }
    return isMini;
}

这不是面向未来的,因为以后可能会引入新的机器 ID,但没有面向未来的方法。
如果是 iPad mini 则使用 163 dpi,否则请使用评论中的上述链接来计算 iPhone 和 iPad 的 dpi。

【讨论】:

    猜你喜欢
    • 2021-07-10
    • 2017-10-30
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 2017-08-26
    • 2012-03-06
    相关资源
    最近更新 更多