2013-02-14 31 views
0

我在使用它們之前和使用過的時候都使用過可伸縮圖像我必須手動輸入cap insets,如果我弄錯了,圖像看起來是錯誤的。UIImage resizableImageWithCapInsets上限數據

有沒有什麼方法可以將cap數據「植入」到某個文件中,然後可以與圖像一起讀取。

UIImage *image = [UIImage loadResizableImageWithFile:"someFile"]; 

這樣設計者可以輸入具有手動鍵入這些圖像代替我的蓋尺寸。

回答

0

使用stretchableImageWithLeftCapWidth實現此目的的方法。提供示例代碼。

CGSize imgSize = stretchableImage.size; 
if ([stretchableImage respondsToSelector:@selector(stretchableImageWithLeftCapWidth:topCapHeight:)]) { 
    stretchableImage = [stretchableImage stretchableImageWithLeftCapWidth:(imgSize.width/2.0) - 1 topCapHeight:(imgSize.height/2.0) - 1]; 
} else { 
    stretchableImage = [stretchableImage resizableImageWithCapInsets:UIEdgeInsetsMake((imgSize.height/2.0) - 1, (imgSize.width/2.0) - 1, (imgSize.height/2.0) - 1, (imgSize.width/2.0) - 1)]; 
} 
+0

那種方法過時了,因爲iOS的5.我知道如何使用它。在你的例子中,你已經手動輸入了帽子的大小。這就是我想要避免的。所以設計師可以提供一個plist文件或其他東西。 – Fogmeister 2013-02-14 12:27:56

0

iOS本身並不提供一種機制來將可拉伸部分嵌入到圖像本身中。

我知道android通過在圖像周圍添加1像素邊框來實現此目的,並使用該邊框中的黑色像素來指示可拉伸部分。

這裏快速搜索關於堆棧溢出導致an answer鏈接到iOS替代:Tortuga22-NinePatch(Apache許可證)

相關問題