iOS【UIImage】@2x @3x

2倍图3倍图的用法之前一直用的很混乱,自己写了个例子来验证了一下,现在写出来吧。
UIImage的加载有两种方法

[UIImage imageNamed:@"small cat"];
NSString *path = [[NSBundle mainBundle] pathForResource:@"smallcat" ofType:@"png"];
UIImage *image = [[UIImage alloc]initWithContentsOfFile:path];

1.imageNamed

1.1 在@x,@2x,@3x都存在的情况下:
iPhone4s,5,6,6s,7优先加载@2x的图片
iPhone6p,6sp,7p,优先加载@3x图片

1.2 在只有@1x和@3x的情况下:
iPhone4s加载@1x的图片
iPhone5,6,6s,6p,6sp,7p,优先加载@3x图片

2.ContentOfFile

2.1 在@x,@2x,@3x都存在的情况下:
同imageNamed方法的加载规则
iPhone4s,5,6,6s,7优先加载@2x的图片
iPhone6p,6sp,7p,优先加载@3x图片

2.2 在只有@1x和@3x的情况下:
iPhone4s,5,6,6s,7优先加载@x的图片
iPhone6p,6sp,7p,优先加载@3x图片

你可能感兴趣的:(iOS【UIImage】@2x @3x)