我正在尝试检测我的应用运行在哪个iPhone上。 我在stackoverflow找到了这个:
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IS_RETINA ([[UIScreen mainScreen] scale] >= 2.0)
#define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width)
#define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height)
#define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGHT))
#define SCREEN_MIN_LENGTH (MIN(SCREEN_WIDTH, SCREEN_HEIGHT))
#define IS_IPHONE_4_OR_LESS (IS_IPHONE && SCREEN_MAX_LENGTH < 568.0)
#define IS_IPHONE_5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0)
#define IS_IPHONE_6 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0)
#define IS_IPHONE_6P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0)
但这对我不起作用。当我有一个标准模式的iPhone6(没有缩放),它说它是一个iPhone5。 我也测试了
[UIScreen mainScreen].bounds.size.width
但每次都会返回320。
在模拟器中,它工作得很完美,但在设备上却失败了。
有人可以帮我找出使用的iPhone吗?
最好的问候
答案 0 :(得分:2)
为什么不使用“@media only screen and (max-width: 600px){
.block{
position: fixed;
top: 50px;
left: 0;
margin-left: 20px;
margin-right: 20px;
right:0;
width:initial;
}
}
”而不依赖于屏幕尺寸?
Here's a tutorial that might help you out
如果“[[UIDevice curentDevice] model]
”对你来说不够详细,那么还有“[[UIDevice currentDevice] model]
”,其中教程展示了如何获得“漂亮的字符串”(或模型名称的精美版本)出来的。
There's also Open Source available that you can drop in to determine the Device display name