在我的iPhone应用程序中,我发现如果我对10像素的视图高度进行硬编码,则iPhone 4S和iPhone 5之间的物理高度会略有不同。在iPhone 5上,它在物理上看起来要短一些。我知道两者都应该是326 PPI显示器。
在Android上,我们的设备具有不同的物理像素密度。因此,在像素密度高于密度较低的设备上,高度为10像素的视图看起来会更短。为了解决这个问题,Android提供了DIP(密度无关像素)。
我在代码中做错了什么来生成不同高度的视图,或者iOS中是否有办法考虑不同的像素密度?
答案 0 :(得分: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 ...
}