【发布时间】:2025-12-05 20:55:01
【问题描述】:
我不想制作一个与 iOS 版本低至 5.0 的应用程序兼容,但仍将其扩展到 iPhone 5 大小。我想我制作了 3 个不同的故事板:一个用于 iPad、iPhone 和 iPhone 5。我使用了
#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
来自this的问题
不输入这个代码的时候很奇怪
if (IS_IPHONE_5 && UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
所以,我想使用以下代码将屏幕大小打印到控制台:
NSLog(@"%f", [UIScreen mainscreen].bounds.size.height);
奇怪的是,它给了我输出
480.000000
而不是 568.f 应该在 4 英寸设备上。
可能是问题所在:
- 我正在使用 iPhone 模拟器,抱歉我没有 iPhone 5
- 该应用程序与 iOS 5 兼容,这可能是问题
注意:我在 4.6 上试过了,还是不行
【问题讨论】:
-
请编辑您的问题标题以描述您要解决的问题!
-
好的,抱歉,现在应该已经修复了,谢谢指出
-
您的应用中实际使用的是 568 像素,它们是否被填充?我的猜测是返回用户界面(!)大小,而不是实际的硬件尺寸。但是我已经有一段时间没有接触这些 API 了,我可能错了。