2012-03-09 43 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文件」設置爲「否」。在我的情況下,應用程序包的大小甚至比打開壓縮時還小。我自己做了圖像優化。