iOS 引导页图片/手机全屏图片不同机型适配

最近启动APP时要做一个引导页,要适配不同的机型:

手机 屏幕尺寸 比例
iPhone 1G 320x480 0.667
iPhone 3G 320x480 0.667
iPhone 3GS 320x480 0.667
iPhone 4 640x960 0.667
iPhone 4S 640x960 0.667
iPhone 5 640x1136 0.564
iPhone 5S 640x1136 0.564
iPhone 5C 640x1136 0.564
iPhone 6 750x1334 0.5623
iPhone 6 Plus 1080x1920 (开发应按照1242x2208适配) 0.5625
iPhone 6S 750x1334 0.5623
iPhone 6S Plus 1080x1920 (开发应按照1242x2208适配) 0.5625
iPhone 7 750x1334 0.5623
iPhone 7 Plus 1080x1920 (开发应按照1242x2208适配) 0.5625

640x960 640x1136 750x1334 1080x1920 1242x2208

共有以上几种尺寸

-(UIImage *)getFitFirstImage
{
    float currentScreenScale = HSWidth/HSHeight;//当前屏幕比例
    float a[3] = {640.0/960.0,750.0/1334.0,1242.0/2208.0};
    int c = find(a, 3, currentScreenScale);
    NSArray *imageScaleArray = @[@"640_960",
                                 @"750_1334",
                                 @"1242_2208"];
    NSString *imageScale = imageScaleArray[c];
    
    NSLog(@"%@",imageScale);

  
    return [UIImage imageNamed:[NSString stringWithFormat:@"FirstLanuchImage%@.jpg",imageScale]];

}

int find(float *a,float n,float x)
{
    int i;
    float min=fabsf(*a-x);
    int r=0;
    
    for(i=0;i < n;++i)
    {
        if(fabsf(a[i]-x) < min)
        {
            min=fabsf(a[i]-x);
            r=i;
        }
    }
    return r;
}

主要通过当前屏幕的宽高比,找到数组中与当前屏幕最接近的图片尺寸,从而使用不同尺寸的图片,以达到适配效果。(这里只选择了三个尺寸的图)

你可能感兴趣的:(iOS 引导页图片/手机全屏图片不同机型适配)