Установите тег и скройте для объектов на пользовательском UITableViewCell

Я повторно использую пример Apple AdvancedTableViewCells для создания пользовательское табличное представление с быстрой прокруткой. В частности, я использую их метод CompositeSubviewBasedApplicationCell, который рисует содержимое в tableviewcell с помощью drawRect

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

Код, который устанавливает содержимое ячейки:

- (void)drawRect:(CGRect)rect
{

[_cell.animalIcon drawAtPoint:CGPointMake(5.0, 5.0)];

[_cell.animalName drawAtPoint:CGPointMake(93.0, 25.0)];

_highlighted ? [[UIColor whiteColor] set] : [[UIColor colorWithWhite:0.23 alpha:1.0] set];
[_cell.animalDescription drawAtPoint:CGPointMake(100.0, 54.0) withFont:[UIFont boldSystemFontOfSize:13.0]];

[_cell.animalNameString drawAtPoint:CGPointMake(93.0, 5.0) withFont:[UIFont boldSystemFontOfSize:13.0]];

}

person iwasrobbed    schedule 06.06.2010    source источник


Ответы (1)


tag и hidden являются свойствами UIView. Поскольку вы больше не имеете дело с экземплярами UIView (у вас нет UILabels или UIImageViews, только NSString или UIImages), у них нет свойства tag. Если вы хотите скрыть определенную часть текста, просто не рисуйте ее в drawRect:. Используйте простой оператор if, чтобы проверить любое условие, которое вам нужно, чтобы определить, должен ли быть отрисован текст или нет.

person Ole Begemann    schedule 06.06.2010
comment
Спасибо за быстрый ответ. Проблема заключается в том, что я использую свойство тега, чтобы решить, какой контроллер представления нажать на основе значения animalNameString ... Есть ли другой способ сделать это в didSelectRowAtIndexPath:? - person iwasrobbed; 07.06.2010