Оптимизация UIScrollView с большим количеством подпредставлений - PullRequest
1 голос
/ 03 августа 2010

У меня есть UIScrollView, который я использую для имитации взаимодействия, подобного UITableView, потому что строки немного сложнее, чем UITableView.У меня есть 4 UILables UIImageView и UIButton для каждой строки.Конечный результат - множество подпредставлений.

Даже с только 10 строками, представление прокрутки, которое прекрасно выглядит в симуляторе, но имеет довольно низкую частоту кадров на iPhone 4. Это точно проблема с потреблением ресурсов.способ оптимизировать перерисовку во время прокрутки, как двойная буферизация?

Если нет, то есть ли другой способ получить настраиваемую функциональность UITableview?

спасибо

Ответы [ 4 ]

2 голосов
/ 03 августа 2010

Есть ли в каждом представлении 4xUILabels, UIImageView и UIButton?

Я бы создал файл пера с пользовательским UITableViewCell (вы можете сделать их настолько сложными, насколько вам нужно), а затем вы можете повторно использовать ячейки, чтобы повысить производительность.

Информация о том, как это сделать, находится здесь: http://developer.apple.com/iphone/library/documentation/UserExperience/Conceptual/TableView_iPhone/TableViewCells/TableViewCells.html#//apple_ref/doc/uid/TP40007451-CH7-SW1

1 голос
/ 03 августа 2010

Взгляните на http://cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html.

UITableViews являются подклассами UIScrollView (или, по крайней мере, соответствуют их поведению), но вы действительно хотите, чтобы iPhone обрабатывал выборочное повторное использование чертежа / ячейки для вас, которое обеспечивает UITableView.

1 голос
/ 03 августа 2010

Я думаю, что вы, вероятно, хотите создать собственный подкласс UITableViewCell, так как UITableView будет обрабатывать все перерисовки для вас. В пользовательском UITableViewCell вы можете добавить сколько угодно подпредставлений.

0 голосов
/ 03 августа 2010

Вы должны использовать UITableView, если он делает все, что вам нужно.

Однако, если ваши ячейки табличного представления действительно сложны или вы хотите включить подкачку на просмотре прокрутки, вам следует взглянуть на PageContol образец кода, который предоставляет Apple.Короче говоря, вы наблюдаете за движением в scrollViewDidScroll: и загружаете новые «страницы» непосредственно перед тем, как они становятся видимыми.Этот метод очень хорошо работает на практике для произвольно длинных списков страниц.

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