检测iPhone5、5s,6和6 plus

吹牛者

有人可以告诉我如何更新以下代码以在iPhone 5、5s,6和6 +上运行吗?当我测试上述设备的模拟器时,没有图像设置为背景...

UIImageView *backgroundImageView = [[UIImageView alloc] initWithImage:_Image];
[backgroundImageView setFrame:[[self view] bounds]];
[[self view] addSubview:backgroundImageView];
//I EXCPECTED THIS NEXT LINE OF CODE TO WORK TO SET A SEPARATE BACKGROUND FOR IPAD...
UIImage *Image = [[UIImage alloc]init];
if ([[UIScreen mainScreen] bounds].size.height == 480) {
    // iPhone, iPod Touch
    Image = [UIImage imageNamed:@"image.png"];
}
if ([[UIScreen mainScreen] bounds].size.height == 568) {
    // supposably iPhone 5 but only works for 4
    Image = [UIImage imageNamed:@"image.png"];
}
if ([[UIScreen mainScreen] bounds].size.height == 1024) {
    // iPad
    Image = [UIImage imageNamed:@"image.png"];
}
self.view.backgroundColor = [UIColor colorWithPatternImage:Image];
亨利·F
#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_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)

然后在您的if语句中进行比较。

UIImageView *backgroundImageView = [[UIImageView alloc] initWithImage:_Image];
[backgroundImageView setFrame:[[self view] bounds]];
[[self view] addSubview:backgroundImageView];

UIImage *Image = [[UIImage alloc]init];

if(IS_IPHONE_5)
    {
        Image = [UIImage imageNamed:@"image.png"];
    }
    if(IS_IPHONE_6)
    {
        Image = [UIImage imageNamed:@"image.png"];
    }
    if(IS_IPHONE_6P)
    {
        Image = [UIImage imageNamed:@"image.png"];
    }

我不明白您为什么要这样操作……是因为您的图像由于不同的设备而变得失真了吗?因为在IB中有更简单,更有效的方法来解决此问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章