-3

在我的 iPhone 应用程序中,我发现如果我硬编码 10 像素的视图高度,iPhone 4S 和 iPhone 5 之间的物理高度会略有不同。在 iPhone 5 上,它的物理高度看起来要短一些。我知道两者都应该是 326 PPI 显示器。

在 Android 上,我们有具有不同物理像素密度的设备。因此,高度为 10 px 的视图在像素密度较高的设备上会比在像素密度较低的设备上看起来更短。为了解决这个问题,Android 提供了 DIP(Density Independent Pixels)。

我在我的代码中做错了什么来生成这些不同高度的视图,还是在 iOS 中有一种方法来解释不同的像素密度?

4

1 回答 1

0

如果您的问题基本上是关于如何确定设备是否是 iPhone 5,您可以使用以下宏:

#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )

然后在您的代码中分支:

if (IS_IPHONE_5) {
... handle big screen ...
} else {
... handle small screen ...
}
于 2013-02-01T15:36:39.960 回答