Использование определяемых пользователем атрибутов среды выполнения IB в UITableViewCell

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

Я выбрал UITableViewCell и установил следующее в «Определяемых пользователем атрибутах времени выполнения» IB (см. снимок экрана): Примечание: 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.

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

Спасибо!

введите здесь описание изображения

введите здесь описание изображения


person RobertJoseph    schedule 15.09.2014    source источник
comment
Вы пытались установить это как тип строки вместо числа?   -  person Brooks Hanes    schedule 15.09.2014
comment
Я пробовал устанавливать такие вещи: imageView.image.renderingMode String 2 или imageView.image.renderingMode String 2 или imageView.image.renderingMode String UIImageRenderingModeAlwaysTemplate   -  person RobertJoseph    schedule 15.09.2014
comment
Похоже, renderingMode доступен только для чтения. Это означает, что это не сработает, чтобы изменить его.   -  person Brooks Hanes    schedule 15.09.2014
comment
Если вы думаете, что это ответ, дайте мне знать, и я опубликую его в ответе, чтобы вы могли его проверить. В противном случае я буду продолжать искать.   -  person Brooks Hanes    schedule 16.09.2014
comment
@BrooksHanes Как вы сказали, поскольку renderingMode доступен только для чтения, мне пришлось пойти другим путем. Я опубликую больше, когда смогу. Спасибо еще раз.   -  person RobertJoseph    schedule 16.09.2014


Ответы (1)


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

Самый простой способ сделать это — создать новую запись в Images.xcassets. Изображения в xcassets позволяют выбрать Визуализировать как: изображение шаблона.

введите здесь описание изображения

person RobertJoseph    schedule 16.09.2014