iOS设备实际尺寸(英寸)
我看过很多关于iOS如何检索真实大小的帖子。 我找到了这样的解决方案,但我认为它并不适用于所有设备iOS设备实际尺寸(英寸),ios,objective-c,iphone,ipad,Ios,Objective C,Iphone,Ipad,我看过很多关于iOS如何检索真实大小的帖子。 我找到了这样的解决方案,但我认为它并不适用于所有设备 +(float) getRealSize { float scale = 1; if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) { scale = [[UIScreen mainScreen] scale]; } float dpi; if (UI_USER_I
+(float) getRealSize {
float scale = 1;
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
scale = [[UIScreen mainScreen] scale];
}
float dpi;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
dpi = 132 * scale;
} else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
dpi = 163 * scale;
} else {
dpi = 160 * scale;
}
CGRect originalFrame = [[UIScreen mainScreen] bounds];
float w = originalFrame.size.width;
float h = originalFrame.size.height;
return dpi * sqrtf(w*w + h*h);
}
如何更新该方法以支持所有设备?
我想要DPI(PPI)或英寸。
或者,有没有图书馆可以帮忙
为了防止不必要的关闭:stackoverflow中没有合适的解决方案。
比如说,,
等等等等等等。。。现在没有解决方案。iOS中没有API来实现这一点。使用此选项并确保在有新设备时更新: 我不认为这对AppStore来说是个问题,但可能不包括越狱吊舱
另外,你可以从下面复制信息:--这只是一个关于设备的信息列表--没有什么疯狂的我的问题和@lou franco的答案的结果代码:
//method
-(float) getRealSize {
float scale = 1.f;
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
scale = [[UIScreen mainScreen] scale];
}
float ppi = [GBDeviceInfo deviceInfo].displayInfo.pixelsPerInch;
if (ppi == 0) {
ppi = 160.f;
}
CGRect originalFrame = [[UIScreen mainScreen] bounds];
float w = originalFrame.size.width;
float h = originalFrame.size.height;
return sqrtf(w*w + h*h) * scale / ppi;
}
//usage:
float inches = [self getRealSize];
天哪,为什么被否决?你说的真实尺寸是什么意思?设备大小与屏幕大小不同!当你说设备尺寸时,你可以从苹果的规格中得到。我想你甚至可以从苹果网站上获得屏幕大小。什么;这是以编程方式计算它们的要点?当然我需要屏幕的实际大小,因为你声称的第一个链接没有合适的解决方案,为你的问题提供了多种解决方案。忽略你为设备找到一个实际的“大小”的想法;你想达到什么目的?如果您尝试任何类型的界面缩放,那么这不太可能起作用,因为iPhone X+或iPad上的多任务导致应用程序无法全屏显示。相反,您应该使用
大小类
和自动布局
。