2011-11-06 40 views
0

我在單個UIViewController上得到了16個按鈕。每個按鈕都有一個自定義樣式,背景PNG圖像尺寸爲160x160像素(縮小視網膜顯示)。按鈕本身是40x40,60x60或80x80。我期望視圖控制器能夠生存很長時間。iOS5 UIButton應該嘗試優化背景圖片嗎?

我只想分配給這些按鈕(紅色,黃色,綠色)的圖像只有3種類型。該計劃是重新分配圖像來指示狀態轉換。目前我的UI是在界面構建器中構建的。 界面生成器是否足夠聰明,能夠意識到我正試圖爲這些按鈕重新使用相同的圖像,還是會分配16個單獨的圖像,每個按鈕一個?東西告訴我,每個按鈕都有一個單獨的UILayer,它以某種方式獲取圖像。

謝謝!

+0

爲什麼不能登錄的參考指針值並看到結果? UIImage imageNamed:也緩存圖像,所以可能是這種情況。 – TigerCoding

回答

2

他們都使用相同的圖像。您可以輕鬆地製作的UIButton的子類用這種方法測試:

- (void)awakeFromNib 
{ 
    NSLog(@"TestButton %p - background image %p %@", self, self.currentBackgroundImage, self.currentBackgroundImage); 
} 

設置你的按鈕,你的UIButton子類,運行和檢查輸出:

2011-11-06 13:36:41.877 tester[21909:f803] TestButton 0x68522a0 - background image <UIImage: 0xed2d630> 
2011-11-06 13:36:41.878 tester[21909:f803] TestButton 0xed2f1e0 - background image <UIImage: 0xed2d630> 
2011-11-06 13:36:41.879 tester[21909:f803] TestButton 0xed2f6a0 - background image <UIImage: 0xed2d630> 
+0

這是一些非常漂亮的測試! –