1

我一直致力于使 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)。还有其他人有这个问题吗?这似乎是苹果方面的一个错误......除非我做错了什么。

4

1 回答 1

1

这听起来确实像一个错误,但您可以通过使用bounds而不是currentMode. 后一个属性是物理屏幕的测量值,以像素为单位——显然可以有任意方向——而前者是逻辑屏幕区域,以点为单位(你更有可能在其中布置 UI) ,并且应该在所有现有 iPad 上保持一致。

于 2012-11-27T22:18:33.997 回答