我刚刚开始开发我需要设置背景图像的通用iOS应用程序。
而不是为iPhone,iPhone-retina,iPhone5,iPhone5-retina&amp ;;使用3~4种不同尺寸的图像。 iPad,iPad-retina,我只想拍摄一张最高分辨率的图像(比如说1024 * 780),我想用它来适应所有上述设备。如何???
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"sfond-appz.png"]];
&安培;它不占用较小设备的确切屏幕尺寸。它正在萎缩。
请建议!!!
答案 0 :(得分:0)
如果Apple建议为每种显示器使用不同的图像,则有一个特定的原因,原因是记忆 随着显示器尺寸的增加,它也增加了设备上可用的内存,因为更大的图像需要更多的内存。即使您想在运行时调整它们(不拉伸)它们,第一次打开它将占用该内存,直到您释放它为止。占用的内存不必处理文件大小 如果您仍想尝试一下这个库,它将帮助您在运行时调整图像大小(而不是拉伸)NYXImagesKit
答案 1 :(得分:0)
我在App Store中的一个应用程序中做了同样的事情。在主菜单视图中,我使用UIImaveView作为背景,并在Interface Builder中将模式设置为Aspect Fit。我使用支柱和弹簧使其与边缘对齐。
对于通用应用,您将在iPhone和iPad故事板(或.xib文件)上创建此UIImageView并使用相同的图像文件。
但是,我仍然有2x版本的视网膜显示器。因此,我只使用两个图像来覆盖所有设备,方向和分辨率。
如果您创建适合每个设备的背景图像,它将消耗更少的内存,但显然会增加捆绑包的大小。在我的情况下,目标是保持捆绑大小小(蜂窝递送低于50 MB),我有内存可供使用。