我創建了一個UICollectionView並添加了一個只有子視圖的單元格是一個UIButton。該按鈕具有標題和圖像集。我已經驗證調試器中的圖像數據是正確的。爲什麼帶有UIButton的UICollectionViewCell具有單色/有色圖像?
當按鈕在屏幕上繪製時,我看到文本和圖像,但圖像看起來好像已經填充了色調顏色,遮住了除形狀之外的所有圖像。
我在這裏錯過了什麼,這顯示爲一個正常的按鈕應該?
更新
事實證明,這不是針對UICollectionView但iOS7而所有UIButtons。
iOS 7使按鈕中的所有圖像表現爲模板圖像,使用圖像的alpha通道與色調顏色一致以產生圖像(很像標籤欄中的圖像)。這裏面有默認爲「自動」,它可以讓背景下決定的UIImage新renderingMode屬性(這是按鈕模板樣式)
這可以通過使用新的imageWithRenderingMode被規避:對UIImage的方法:
UIImage* myImage = [UIImage imageNamed:@"Foo.png"];
myImage = [myImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[button setImage:myImage forState:UIControlStateNormal];