2011-11-29 48 views
0

有誰知道如何在不使用[UIImage resizableImageWithCapInsets:]的情況下做到這一點?我試圖爲無法運行iOS5的用戶提供兼容性。如何在iOS5之前創建加蓋的可調整大小的圖像

UIEdgeInsets imgInsets = UIEdgeInsetsMake(10.f, 5.f, 13.f, 44.f); 
UIImage *image = [[UIImage imageNamed:@"fileName"] resizableImageWithCapInsets:imgInsets]; // only available in iOS5+ 

請注意,我不希望創建一個1px的伸展的形象,我想瓷磚是在插圖之間定義爲當UIImage的大小調整的區域。也就是說,[UIImage stretchableImageWithLeftCapWidth: topCapHeight:]沒有辦法。

非常感謝!

回答

0

你不能以你想要的方式在iOS 5之前不幸地做到這一點。唯一的選擇是[UIImage stretchableImageWithLeftCapWidth: topCapHeight:]。有了它,你必須指定一個水平和垂直平鋪的像素。不幸的是,沒有辦法直接使用iOS 5的UIImage來做你想要的東西。

已更新:我已經更新了這個答案,因爲DTs是完全正確的。

+0

這兩種方法實際上做了非常不同的事情:前者將平鋪在insets中定義的區域。這樣你可以重複一個模式。後者將只會重複一個像素或行,在您的示例像素6,11中。實際上,圖像在調整大小時被拉伸,而不是平鋪。它只適用於色彩均勻而不是圖案的圖像。 – DTs

+0

我發佈了一個截圖,以更好地解釋它們之間的區別是什麼:http://imageshack.us/photo/my-images/52/tilevsstretch.jpg/ – DTs

+0

非常好的DT - 我已經相應更新了。我不確定我在寫這個答案時的想法,並表示道歉。 – mattjgalloway

相關問題