【发布时间】:2012-11-15 15:22:46
【问题描述】:
我一直致力于让 iPhone 应用适应 iPad。由于必须以不同方式缩放和放置许多资产,因此在重新定位所有内容方面还有一些工作要做。
我注意到的一件事是,在 iPad mini 上,如果我们使用以下代码:
CGFloat height = [UIScreen mainScreen].currentMode.size.height;
CGFloat width = [UIScreen mainScreen].currentMode.size.width;
返回的高度是 1024。这是 iPad 的长边。 但是,如果我使用 iPad 4 并询问高度,我会得到 1536 - 这是 iPad 4 的较短边缘。我尝试在启动时翻转 iPad 等等,但似乎没有任何结果想要(iPad 4 的高度 = 2048)。还有其他人有这个问题吗?这似乎是苹果方面的一个错误......除非我做错了什么。
【问题讨论】:
-
尝试使用'[[UIScreen mainScreen] applicationFrame]'
-
applicationFrame取决于应用程序是否有状态栏以及(如果我没记错的话)状态栏是否处于双高模式(网络共享、录制音频等)。bounds可能是更安全的选择。