ios调整全屏图像大小以适应多种屏幕大小
这更像是一个设计问题 我想了解当涉及到不同的iphone屏幕尺寸时,如何处理图像缩放:3.5英寸和4英寸。我有一个4英寸屏幕的568pt全屏图像。我应该为3.5机箱创建单独的图像还是缩小原始图像?在执行此操作时,我是否需要在代码中放入一组if/else块来检查设备类型以确定使用哪个图像ios调整全屏图像大小以适应多种屏幕大小,ios,uiimageview,screen,scale,Ios,Uiimageview,Screen,Scale,这更像是一个设计问题 我想了解当涉及到不同的iphone屏幕尺寸时,如何处理图像缩放:3.5英寸和4英寸。我有一个4英寸屏幕的568pt全屏图像。我应该为3.5机箱创建单独的图像还是缩小原始图像?在执行此操作时,我是否需要在代码中放入一组if/else块来检查设备类型以确定使用哪个图像 有更干净的方法吗?如果您可以节省资源大小,最好为所有相关屏幕大小使用单独的资源。但是,在这一点上,每个人都有自己的看法。为作业加载正确资源的一种简单方法是为图像名称编写一个宏,并在加载图像的每个位置使用该宏,如下
有更干净的方法吗?如果您可以节省资源大小,最好为所有相关屏幕大小使用单独的资源。但是,在这一点上,每个人都有自己的看法。为作业加载正确资源的一种简单方法是为图像名称编写一个宏,并在加载图像的每个位置使用该宏,如下所示:
// S_IMG as in sized image?
#define S_IMG(img) [img stringByAppendingString: (([[UIScreen mainScreen] bounds].size.height == 568.0)? @"-568" : @"")]
然后在加载图像时,您只需执行以下操作
[UIImage imageNamed:S_IMG(@"horse")];
您将拥有
horse.png
,horse@2x.png
和马-568@2x.png
关于屏幕大小,我也有同样的问题。最后,我为每个设备使用了单独的资源,并在代码中检测屏幕大小以加载正确的图像文件
我写下了我的步骤,如何根据不同的屏幕尺寸进行缩放,如果纵横比不同,则进行裁剪。因为有这么多图像,我最终制作了一个工具,可以为我的每个屏幕大小自动调整和裁剪图像。您可以编写UIImage类别,UIImage+4英寸显示 超载
+ (Nullable UIImage *) imageNamed: (NSString *) name; // load from main bundle
增加了分析功能
+ (BOOL) has4InchDisplay
{
return ([UIScreen mainScreen] .bounds.size.height == 568);
}
然后连接字符串xxx-568@2x.png您可以使用“Aspect Fit”缩小图像,但它会剪裁图像。最好使用符合3.5英寸标准的图像。有关检查屏幕是3.5英寸还是4英寸的信息,请参阅。使用
宽屏
一个,而不是是iphone5
一个。