Переключение отображения изображения в UITableViewCell - PullRequest
3 голосов
/ 25 марта 2009

В зависимости от результата условия я хочу отобразить UIImageView в ячейке таблицы. В противном случае отобразите UITableViewCellAccessoryCheckmark. Я хотел бы построить ячейку в IB. Часть, в которой я не уверен, что делать с UIImageView, когда я не хочу, чтобы он отображался. Если бы я создавал все это программно, я бы добавил UIImageView по мере необходимости. Но так как это будет сделано в IB, UIImageView всегда там. Следует ли по умолчанию оставить ячейку в покое (изображение отображается), в противном случае удалите UIImageView и отобразите UITableViewCellAccessoryCheckmark? Если это будет сделано, понадобится ли мне тег на UIImageView, чтобы он мог быть доступен и удален?

1 Ответ

6 голосов
/ 25 марта 2009

Вы можете легко контролировать видимость любого элемента управления, включая UIImageView. Если вы хотите создать что-то в IB, то одним из решений является добавление необходимых элементов управления, представление их в качестве свойств, а затем скрытие ненужных элементов для данной ячейки.

* 1003 Е.Г. *

cell.image.hidden = YES;

Когда они скрыты, у них нет накладных расходов на отрисовку, и хотя ваша ячейка может иметь тысячи строк, фактических ячеек будет очень мало, поэтому это довольно эффективное решение. Просто помните, что ячейки используются повторно, если вы вызываете [tableView dequeueReusableCellWithIdentifier] (что вам следует сделать), поэтому вам придется явно показать / скрыть элемент управления, видимость которого могла быть изменена.

Альтернативой может быть наличие ячеек с изображениями и без них и выбор правильной ячейки при добавлении данных в таблицу. Для ячеек, которые похожи, управление двумя подобными, но незначительно отличающимися активами, вероятно, будет болезненным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...