在ios7中,对于Xcode5,我使用宏来检测设备是iPhone5还是4 ,4s。我从来没有遇到过任何问题
#define IS_WIDESCREEN ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
if (IS_WIDESCREEN){
//5s
}else{
//4,4s
}但是在xcode6中,它不起作用,IS_WIDESCREEN状态总是错误的。
问题是在Xcode6和iOS 8中
[ UIScreen mainScreen界].size.height
等于320,而不是568。
我需要找一个新的宏吗?我在互联网(iOS Writing Macro detect 3.5 inch or 4 inch display)上发现了同样的检测iphone 5屏幕大小的方法。
发布于 2014-12-12 15:15:18
似乎是iOS 8特性,而不是Xcode。试着检查是否宽度为568,以及高度,以防设备在景观中。这种变化似乎是系统在当前方向上得到了高度,因此在一定程度上,UIScreen界的高度特性并不是恒定的。
希望这能帮到别人。
https://stackoverflow.com/questions/25922326
复制相似问题