Контроллер страницы и UITableView вызывают небольшое отставание - PullRequest
0 голосов
/ 13 марта 2011

У меня есть контроллер страницы, который состоит из пяти табличных представлений. При перелистывании между этими представлениями таблицы возникает небольшая задержка. Это нормально или это может быть вызвано плохим кодом?

Я загрузил короткое видео, демонстрирующее проблему.

[Видео] UITableView с UIPageController вызывает задержку

EDIT: Это как если бы это помогло удалить cell.detailTextLabel.text, имеет ли это смысл?

Здесь я устанавливаю метку детали:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat: @"'kl.' HH:mm"];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormat setTimeZone:gmt];
NSString *dateFormatted = [dateFormat stringFromDate:[thisEntry objectForKey:@"date"]];

if(![[thisEntry objectForKey:@"weekDay"] isEqualToString:@"Ikke programsat"]) {
   cell.detailTextLabel.text = [NSString stringWithFormat:@"%@ %@", [thisEntry objectForKey:@"scene"], dateFormatted];
}

[dateFormat release];

1 Ответ

1 голос
/ 13 марта 2011

Я думаю, что проблема, скорее всего, связана с изображением вверху каждой страницы. Таблица на каждой странице, кажется, содержит только легкие ячейки, которые содержат только текст. Итак, каждая таблица должна отображаться довольно быстро. Это изображение сверху, которое может занять некоторое время для рендеринга. Всякий раз, когда я сталкиваюсь с задержкой в ​​любом из моих приложений, в первую очередь я обращаю внимание на графические ресурсы. Рендеринг изображений может занять некоторое время, в зависимости от размера и разрешения изображения. Если это изображение, то вам нужно рассмотреть возможность использования некоторого кеширования. Документация по UIImage и UIImageView содержит некоторую полезную информацию.

Кроме того, я бы посоветовал вам запустить некоторые тесты с использованием Shark, чтобы точно определить, какая часть вашего кода вызывает снижение производительности. Это может быть не изображение, а какой-то фрагмент кода, который запрашивает часть данных, которую ему по какой-то причине приходится ждать.

Надеюсь, это помогло. Удачи.

...