Comments 22
ИМХО что-то явно не так в реализации UITableView в iPhone. Сильно тормознутый контрол.
А еще есть drawRect: ;)
уважаемый, а можно посмотреть на реализацию вашей ячейки? просто при правильном написании тормозов не будет, т.к. она будет всего-лишь один раз, что эквивалентно вашему хаку отрисовываться
Поддерживаю hellraiser09, тормозить не должно. В нашем приложении точно такие же элементы (по 8-12 элементов на ячейку) и использования идеи ReusableItem's быстро отрабатывает скролл. Вероятнее проблема в чем-то другом, проведите профайлинг аппликации и посмотрите, на что уходит время.
Что-то вы намудрили, есть попроще решения…
Реально намудрили, уж проще все в массиве держать и уже его оптимизировать.
Либо улучшаете свой UITableViewCell, чтобы был компактнее и быстрее, либо загружайте его после UIScrollViewDidEndDecellerating()
А то, что Вы тут написали, о, ужас.
Либо улучшаете свой UITableViewCell, чтобы был компактнее и быстрее, либо загружайте его после UIScrollViewDidEndDecellerating()
А то, что Вы тут написали, о, ужас.
еще можно использовать UIWebView
Какой-то божественный хардкор и праздник непонимания документации.
1) — (UITableViewCell *)dequeueReusableCellWithIdentifier:(NSString *)identifier
Эта фукнция позволяет сэкономить время на создании ячейки из NIB файлов
А, собственно, в программной реализации ячеек оно разве не позволяет этого сделать? И какая это вообще «функция»? Для школьников что-ли пишете?
2) Предварительное создание всех ячеек и хранение их в NSArray или NSMutableArray.
Вообще что-то атомное. Тяжело комментировать.
MyCell это оригинальная, уже заполненая нужным контентом ячейка
UIGraphicsBeginImageContext(((UIView*)MyCell.frame.size);
[((UIView*)MyCell.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Прикольно будет падать аплекуха в процессе многопоточной генерации, например.
Вы бы для трех видов ячеек наследовали бы клас UITableViewCell, и при необходимости изменяли бы элементы в методе prepareForReuse. Тогда бы такое не писали.
1) — (UITableViewCell *)dequeueReusableCellWithIdentifier:(NSString *)identifier
Эта фукнция позволяет сэкономить время на создании ячейки из NIB файлов
А, собственно, в программной реализации ячеек оно разве не позволяет этого сделать? И какая это вообще «функция»? Для школьников что-ли пишете?
2) Предварительное создание всех ячеек и хранение их в NSArray или NSMutableArray.
Вообще что-то атомное. Тяжело комментировать.
MyCell это оригинальная, уже заполненая нужным контентом ячейка
UIGraphicsBeginImageContext(((UIView*)MyCell.frame.size);
[((UIView*)MyCell.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Прикольно будет падать аплекуха в процессе многопоточной генерации, например.
Вы бы для трех видов ячеек наследовали бы клас UITableViewCell, и при необходимости изменяли бы элементы в методе prepareForReuse. Тогда бы такое не писали.
А можно посмотреть ячейку, в которой 22 элемента?
Sign up to leave a comment.
Ускорение UITableView в iPhone