微妙的图案背景iOS png文件

Posted

技术标签:

【中文标题】微妙的图案背景iOS png文件【英文标题】:subtle patterrns background iOS png files 【发布时间】:2013-01-07 05:35:25 【问题描述】:

我正在开发一个通用应用程序,我想使用一些在微妙模式.com 上找到的背景,下载它们时我只看到两个 png 文件(常规 png 和 2x png)。如何将它们同时用于 iPhone 和 iPad(包括视网膜显示器)?我是否必须对它们进行缩放以支持所有分辨率?

谢谢。

【问题讨论】:

【参考方案1】:

您需要创建一个图案作为视图的背景色。视图的大小无关紧要,如果您在项目中包含这两个文件,将自动选择视网膜版本。例如:

UIImage *bgimg = [UIImage imageNamed:@"gray_jean"];
self.view.backgroundColor = [UIColor colorWithPatternImage:bgimg];

如果您的项目中有 2 个文件:

gray_jean@2X.png
gray_jean.png

它应该适用于任何情况;图像将被平铺以填充任何视图背景,并且视网膜版本自动用于视网膜屏幕。不过要小心,因为在某些模式中,非视网膜版本是 PNG 文件,而@2x 视网膜版本是 JPEG 文件。

【讨论】:

好电话。另一位用户在下面解释的 iPad(包括视网膜)呢? 因为您正在平铺图像以创建背景颜色,所以这无关紧要。无论大小,它都会填充视图的背景。【参考方案2】:

无需进行额外的缩放,因为模式应该是平铺的(并且您有常规和@2x 版本)。假设您有pattern.pngpattern@2x.png,这里有一个平铺图像的简单方法。

UIColor *pattern = [UIColor colorWithPatternImage:[UIImage imageNamed:@"pattern"]];
[myViewController.view setBackgroundColor:pattern];

【讨论】:

【参考方案3】:

是的。您需要为 iphone 和 ipad 使用不同的图像,并为视网膜显示使用不同的图像。如果您将 iphone 图像用于 ipad 或 Retina 显示器,它将显示为像素化。

因此,请确保为每种类型使用准确分辨率的图像。

请查看苹果的文档以了解分辨率详情。

Apple Image resolutions

【讨论】:

以上是关于微妙的图案背景iOS png文件的主要内容,如果未能解决你的问题,请参考以下文章

怎么制作透明图片,

在 iOS 6 Flash IPA 中具有黑色背景的 PNG

iOS 自定义键盘模糊视图作为背景

带有滚动背景图案的 UITableView

在颤动中重复背景图案图像

背景图像在 iOS 中无法正确显示