我一直致力于将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)。还有其他人有这个问题吗?这似乎是苹果方面的一个错误....除非我做错了。
答案 0 :(得分:1)
这听起来像是一个错误,但您可以使用bounds
代替currentMode
来绕过它。后一个属性是物理屏幕的度量,以像素为单位测量 - 并且显然可以具有任意方向 - 而前者是逻辑屏幕区域,以点为单位测量(您更有可能将UI布局) ,并且应该在所有现有iPad上保持一致。