2012-03-09 47 views
29

当我编译我的应用程序在Xcode 4.3.1与iOS 5.1,我注意到有一个奇怪的行为,只有在实际设备上的背景纹理。在下面的屏幕截图中显示的纹理贴图之间有1px的空白。iOS 5.1与Xcode 4.3.1:[UIColor colorWithPatternImage:]奇怪的行为只在设备上

我的纹理是150x150和300x300在2x。

  • 模拟器iPhone/iPad的两个5.0/5.1:

    到目前为止,我所测试的相同的生成没有错误

  • iPhone/iPad上运行5.0.1:没有错误
  • iPhone/ipad公司运行5.1:越野车

Compare side by side screenshots

+0

线条是否出现在每150px?还有垂直线吗? – Mugunth 2012-03-09 08:23:23

+0

只有水平线和不垂直,是的它出现在视网膜上每300px – 2012-03-09 08:26:04

+0

我可以证实我也得到这个错误,虽然我不知道它是否因为iOS 5.1 – chourobin 2012-03-11 23:06:17

回答

14

自5.1以来,我一直在得到同样的问题。我通过对photoshop中的图像执行以下操作来解决此问题。你可以在另一个工具中做同样的事情。

  1. 加载该文件,全选,复制到剪贴板

  2. 在Photoshop中创建一个新的文件,该文件是相同的尺寸,RGB与72pixels /英寸的分辨率用白色背景8位的深度。

  3. 您在步骤1中复制的图片粘贴到该图像

  4. 保存文件并使用这一个。

这样做后,文件正确显示在设备上,我不必诉诸创建图像的大小显示。

+0

因此,您在此之后不会优化PNG吗?用Photoshop简单“保存”会创建一个49kb的文件大小,我不想那样做。 – 2012-03-15 04:38:01

+2

这***也***为我工作:使用Pixelmator我导出图像为PNG,这是所有:) – nacho4d 2012-03-15 09:56:59

+1

确认由Pixelmator修复。没有任何特殊的选项可以保存。优化保存的图像将再次导致问题。 – 2012-03-16 10:16:18

5

只是为了防止其他人遇到此问题并使用pngoptimizer,请尝试新的png而不优化它。

我有同样的问题,并花了最后4个小时试图解决它。 最后我意识到这是来自pngoptimizer工具的png文件,它总是在iOS 5.1之前工作,但随着更新,相同的png文件在底部产生这条细线。奇怪的是,这只发生在设备上,而不是在模拟器中,并且因为你认为它不能成为图形而欺骗了你。事实上是这样。

+0

我试图保存PNG和不从Photoshop优化,但都不起作用。 – 2012-03-15 04:36:31

+0

清理构建? – Etienne678 2012-03-21 21:30:19

9

我的解决方法: 在“生成设置”中将“压缩PNG文件”设置为“否”。在我的情况下,应用程序包的大小甚至比打开压缩时还小。我自己做了图像优化。