2015-03-18 2 views
7

Я перенес все файлы изображений в каталог активов. Все они представляют собой векторы pdf размером 1x. Они настроены на отображение в качестве шаблона. Они выглядят прекрасно по размеру и по цвету. Но есть одна пользовательская TableView Cell из xib, у которой есть 6 UIImageView, связанных с 6 из этих изображений из каталога. Почему-то они не уважают цвет оттенков, ни по умолчанию, ни по обычаю. Пробовал менять их программно, но не работал. Эти же изображения хорошо видны в другом представлении таблицы со статическими ячейками внутри основной раскадровки. Я не могу изолировать проблему. Интересно, что оттенок отображается совершенно точно после выбора ячейки и выбора. Затем он имеет тенденцию показывать оттенок, заданный в IB. Кажется, это похоже на ошибку в xcode. Проблема существует как в симуляторе, так и в устройстве. Любая помощь?Режим рендеринга установлен на шаблон для векторного pdf в каталоге изображений, но UIImageView не будет отображать изображение в пользовательской ячейке

PS: Вы уже искали StackOverflow, и все ответы должны изменить режим рендеринга на шаблон, который уже существует.

Каталог Изображение

Image Catalogue

Раскадровка

Storyboard

Изображение перед выбором

enter image description here

изображение после того, как таковой разночтение

enter image description here

+0

проверить мой ответ ниже. – AceN

ответ

13

Шаблон изображения работа что-то вроде UIButton.image но не UIImageView.image.

Вы должны установить UIImage AlwaysTemplate самостоятельно.

imageView.image = [[UIImage imageNamed:@"image"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; 

и установить режим в ImageAssets рендеринга не работает в прошивке 7.

+0

Это сработало! Удивительно, но, похоже, это не упоминается в документации. – AceN

+0

Что еще, я написал его как код инициализации для пользовательского класса ячейки в initWithStyle, и это не сработало! Мне пришлось написать его в awakeFromNib. В документации для dequeReuseableCell упоминается, что если зарегистрирован ниб, он попытается сделать ячейку, вызвав метод initWithStyle этого класса. ясно, что этого не происходит! – AceN

+0

Надеюсь, вы получили 50 очков. Я забыл назначить его, и stackoverflow никогда не отправлял мне электронное письмо, на котором был дан ответ на вопрос. – AceN

0

По какой-то причине метода initWithStyle не будет вызван на подклассе пользовательских ячеек. Поэтому мне пришлось написать код инициализации в awakeFromNib. Документация для метода UITableView dequeReuseableCell ясно указывает, что initWithStyle будет вызываться даже для пользовательских ячеек, но это не так.

 Смежные вопросы

  • Нет связанных вопросов^_^