Использование drawRect для рисования tablecell

Итак, я посмотрел несколько видеороликов с WWDC 2010, и в одном из них спикер указал, что может быть хорошим вариантом рисовать пользовательские ячейки таблицы с помощью drawRect вместо того, чтобы помещать их в IB, потому что это будет хорошо для производительности. Я всегда помещал их в IB, поэтому я хотел бы спросить, как я на самом деле это делаю, просто переопределяя функцию drawRect ячейки таблицы? Также стоит ли использовать drawRect вместо IB?

Спасибо, если у вас есть что спросить, я уточню.


person Samuli Lehtonen    schedule 16.06.2011    source источник


Ответы (1)


UITableViewCell является подклассом UIView, так что да, если вы хотите создать тот, который выполняет пользовательское рисование, вы должны переопределить -drawRect:. В некоторых ситуациях это может повысить производительность, но, вероятно, это не сильно отличается от обычного случая, когда вы перерабатываете ячейки, и все ячейки одинаковы.

person Caleb    schedule 16.06.2011
comment
Спасибо! Думаю, тогда я просто буду придерживаться обычных методов. - person Samuli Lehtonen; 17.06.2011
comment
Это неправильно, во многих случаях лучше использовать drawRect. Пожалуйста, загляните в блог Twitter Engineering, где они показывают, как они рисуют свои ячейки с помощью drawrect для повышения производительности (@SamuliLehtonen) Twitter Engineering: простые стратегии плавной анимации на iPhone - person Thiago Peres; 16.03.2012
comment
@Lookez Это отличная статья, полная хороших советов, но обратите внимание на предупреждение о преждевременной оптимизации. - person Caleb; 17.03.2012