Я создаю UICollectionView и добавляю одну ячейку, которая является только subview, является UIButton. Эта кнопка имеет свой заголовок и изображение. Я проверил, что данные изображения верны в отладчике.Почему у UICollectionViewCell с UIButton есть монохромное/тонированное изображение?
Когда кнопка рисуется на экране, я вижу текст и изображение, однако изображение выглядит так, как если бы оно было заполнено цветом оттенка, затеняя все изображение, отличное от его формы.
Что мне здесь не хватает, чтобы показать это как обычная кнопка?
Update
Оказывается, это не относится к UICollectionView, а скорее все UIButtons в iOS7.
iOS 7 делает все изображения в кнопках, которые ведут себя как изображения шаблонов, используя альфа-канал изображения в сочетании с цветом оттенка для создания изображения (как изображения на панели вкладок). Там новый renderingMode собственность на UIImage, который по умолчанию в «автоматический», который позволяет контекст решить (что шаблон стиля для кнопок)
Это можно обойти, используя новый imageWithRenderingMode: метод на UIImage:
UIImage* myImage = [UIImage imageNamed:@"Foo.png"];
myImage = [myImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[button setImage:myImage forState:UIControlStateNormal];