获取iPhone的物理屏幕尺寸(英寸)

问题描述 投票:5回答:3

如何以英寸为单位以编程方式获取屏幕尺寸(例如iPhone 4,3.5英寸)。

我通过检测iPhone / iPad模型找到了一种方法,但硬编码不是我想要的,所以我不是那样的。

iphone ios screen screen-size
3个回答
5
投票

这将找到设备的对角线屏幕尺寸:

float scale = [[UIScreen mainScreen] scale];

float ppi = scale * ((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) ? 132 : 163);

float width = ([[UIScreen mainScreen] bounds].size.width * scale);
float height = ([[UIScreen mainScreen] bounds].size.height * scale);

float horizontal = width / ppi, vertical = height / ppi;

float diagonal = sqrt(pow(horizontal, 2) + pow(vertical, 2));

diagonal将包含屏幕的对角线尺寸(以英寸为单位)。


5
投票

我发现了一个名为'GBDeviceInfo'的好GitHub项目:

if ([GBDeviceInfo deviceDetails].display == GBDeviceDisplayiPhone35Inch) {
    //3.5 inch iphone
}
else if ([GBDeviceInfo deviceDetails].display == GBDeviceDisplayiPhone4Inch) {
    //4 inch iphone
}
else if ([GBDeviceInfo deviceDetails].display == GBDeviceDisplayiPad) {
    //ipad
}

她的手:Casks


3
投票

用于屏幕的Swift 4版本

GBDeviceInfo
© www.soinside.com 2019 - 2024. All rights reserved.