2014-09-15 1 views
4

У меня есть статический UITableView с одной секцией; эта секция имеет два UITableViewCell, каждый из которых имеет свой собственный UIImageView (см. снимок экрана). Я хотел бы изменить изображение, используемое в ячейке, чтобы он использовал режим рендеринга UIImageRenderingModeAlwaysTemplate (так что изображение будет отмечать tintColor).Использование IB «Пользовательские атрибуты времени выполнения» на UITableViewCell

Я выбрал UITableViewCell и установить следующее IB в «User Defined Время воспроизведения Атрибуты» (см скриншот): Примечание: 2 это значение UIImageRenderingModeAlwaysTemplate.

Когда я запустить приложение Xcode генерирует следующее предупреждение:

Failed to set (keyPath) user defined inspected property on (UIImageView): [<UIImageView 0x7fa490550d30> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key keyPath. 

Любая идея, что я делаю неправильно здесь? Кроме того, я бы хотел, чтобы вам не пришлось сбрасывать код для этого - я хочу придерживаться их раскадровки, если это возможно.

Спасибо!

enter image description here

enter image description here

+1

Вы пробовали устанавливать это как тип строки вместо номера? –

+0

Я пробовал настроить такие вещи как: imageView.image.renderingMode String «2» или imageView.image.renderingMode String 2 или imageView.image.renderingMode String UIImageRenderingModeAlwaysTemplate – RobertJoseph

+1

Похоже, что renderMode доступен только для чтения. Это означает, что это не помогло бы изменить его. –

ответ

2

Поскольку imageView.image.renderingMode является свойством только для чтения, вы должны сделать что-то еще, если вы не хотите, чтобы опуститься до написания кода.

Самый простой способ сделать это - создать новую запись в Images.xcassets. Изображения в xcassets позволяют вам выбрать Render As: Шаблонное изображение.

enter image description here

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