Можно ли повторно использовать UILabels на скроллвью? - PullRequest
1 голос
/ 30 января 2010

Я пытаюсь реализовать представление, которое отображает сетку информации без использования UITableView, однако, поскольку я отображаю около 36 различных статистических данных, с их меткой мне придется инициализировать и использовать 72 UILabels. Означает ли наличие такого количества UILabels, что производительность моего приложения для iPhone будет значительно ухудшена? Есть ли способ повторно использовать некоторые из UILabels, чтобы уменьшить количество UILabels, которые должны быть загружены за один раз, или я должен просто прибегнуть к рисованию всего на поверхности вместо этого?

1 Ответ

2 голосов
/ 30 января 2010

Прежде всего вы должны протестировать интерфейс, о котором вы думаете, и посмотреть, не нанесет ли он удар по производительности. Загрузка сразу нескольких ярлыков увеличит объем используемой памяти, но в зависимости от того, что еще происходит в приложении, это может не иметь значения.

Во-вторых, вы не можете легко повторно использовать метки, но это возможно. Однако вам придется постоянно контролировать отображаемую область просмотра прокрутки и перемещать рамки меток по мере прокрутки представления. Я сомневаюсь, что вы могли бы сделать это эффективно. В любом случае это заняло бы много кода.

В-третьих, любая сетка, подобная макету, может быть легко отображена в таблице, не делая ее похожей на таблицу. Например, макет средства выбора фотографий - это таблица, но она выглядит как набор иконок на белом фоне. Другое приложение, которое я видел, использовало таблицу для отображения абзацев текста, но оно выглядело как обычное прокручиваемое текстовое представление. Каждая строка в таблице может быть настроена для отображения именно то, что вы хотите. В принципе, вы можете использовать разные ячейки для каждой строки, и все они могут быть уникальными по высоте и содержанию.

Преимущество таблицы в том, что таблица управляет тем, что для вас отображается, а что нет. Он действительно использует клетки и их содержимое, что делает их более эффективными. Таблица также облегчает управление большим количеством данных.

...