在初始化开始时,我通过测试高度(或宽度取决于用户握住设备的方式)来检查我使用的设备。选择设备后,应用程序将确定要加载的资产的分辨率。
我用来检查哪个设备的代码如下......
if([ [ UIScreen mainScreen ] bounds ].size.height > [ [ UIScreen mainScreen ] bounds ].size.width)
{
isIphone4 = ( [ [ UIScreen mainScreen ] bounds ].size.height == 480 );
isIphone5 = ( [ [ UIScreen mainScreen ] bounds ].size.height == 568 );
isIphone6 = ( [ [ UIScreen mainScreen ] bounds ].size.height == 667 );
isIphone6Plus = ( [ [ UIScreen mainScreen ] bounds ].size.height == 736 );
}
else
{
isIphone4 = ( [ [ UIScreen mainScreen ] bounds ].size.width == 480 );
isIphone5 = ( [ [ UIScreen mainScreen ] bounds ].size.width == 568 );
isIphone6 = ( [ [ UIScreen mainScreen ] bounds ].size.width == 667 );
isIphone6Plus = ( [ [ UIScreen mainScreen ] bounds ].size.width == 736 );
}
除了物理上的iPhone 6 Plus外,这种方法可以准确地检测出正在使用的设备。
然而,这并不是最令人困惑的部分,令人困惑的是,它有时无法正常工作。我已经在2个独立的iPhone 6 Plus'上进行了个人测试。并且应用程序工作得非常好。我和一些有问题的用户有过接触,他们的规格不同,有些人有AT& T其他人有Verizon,有人有16GB,其他有64GB。
任何机构都有任何想法吗?
答案 0 :(得分:0)
好的,我明白了。有一个'显示缩放'功能在6Plus上,将显示区域缩放为375 x 667,并具有x3像素比例因子。
基本上它与具有x3缩放比例的iPhone 6尺寸相同。