我正在开发一个通用应用程序,我想使用一些在微妙模式.com 上找到的背景,在下载它们时我只看到两个 png 文件(常规 png 和 2x png)。如何将它们同时用于 iPhone 和 iPad(包括视网膜显示器)?我是否必须缩放它们以支持所有分辨率?
谢谢。
我正在开发一个通用应用程序,我想使用一些在微妙模式.com 上找到的背景,在下载它们时我只看到两个 png 文件(常规 png 和 2x png)。如何将它们同时用于 iPhone 和 iPad(包括视网膜显示器)?我是否必须缩放它们以支持所有分辨率?
谢谢。
您需要创建一个图案作为视图的背景颜色。视图的大小无关紧要,如果您在项目中包含这两个文件,将自动选择视网膜版本。例如:
UIImage *bgimg = [UIImage imageNamed:@"gray_jean"];
self.view.backgroundColor = [UIColor colorWithPatternImage:bgimg];
如果您的项目中有 2 个文件:
gray_jean@2X.png
gray_jean.png
它应该在任何情况下工作;图像将被平铺以填充任何视图背景,并且视网膜版本自动用于视网膜屏幕。不过要小心,因为在某些模式中,非视网膜版本是 PNG 文件,而@2x 视网膜版本是 JPEG 文件。
无需进行额外的缩放,因为模式应该是平铺的(并且您有常规和@2x 版本)。假设您有pattern.png
和pattern@2x.png
,这是平铺图像的简单方法。
UIColor *pattern = [UIColor colorWithPatternImage:[UIImage imageNamed:@"pattern"]];
[myViewController.view setBackgroundColor:pattern];
是的。您需要为 iphone 和 ipad 使用不同的图像,并为视网膜显示使用不同的图像。如果您将 iphone 图像用于 ipad 或视网膜显示,它将显示为像素化。
因此,请确保为每种类型使用精确的分辨率图像。
请查看苹果的文档以获取解决方案的详细信息。