我试图检测当前的设备是iPhone5,iPhone6还是iPhone 6 Plus.
在我的应用程序中,我已经使用这个宏来检测完美的iPhone 5.
#define IS_IPHONE_5 (fabs((double)[[UIScreen mainScreen]bounds].size.height - (double)568) < DBL_EPSILON)
Run Code Online (Sandbox Code Playgroud)
同样,我使用此宏来检测iPhone 6和iPhone 6 Plus.
#define IS_IPHONE_6 (fabs((double)[[UIScreen mainScreen]bounds].size.height - (double)667) < DBL_EPSILON)
#define IS_IPHONE_6_PLUS (fabs((double)[[UIScreen mainScreen]bounds].size.height - (double)736) < DBL_EPSILON)
Run Code Online (Sandbox Code Playgroud)
IS_IPHONE_5宏以任何方向按预期工作.
我的问题是当设备保存在LANDSCAPE中时,IS_IPHONE_6和IS_IPHONE_6_PLUS宏不会返回true.但是,当设备在PORTRAIT中保存时,它们确实可以正常工作.是什么赋予了?
如果有人有更好的建议来检测iPhone5,6和6 Plus请分享.