2013-03-30 3 views
1

У меня есть приложение для коллажа фотографий, которое берет кучу фотографий из facebook/instagram/library пользователя и рисует кучу их на UIView. Чтобы контролировать количество, имеется инструмент слайдера, который вычисляет плотность (например, каждые 150 пикселей в ширину, добавляет изображение). Я сталкиваюсь с проблемами памяти после добавления большого количества UIImageView.Больше памяти эффективный способ отображения изображений в iOS?

Есть ли лучший, более эффективный способ отображения изображений на экране?

+0

Вы показываете все эти изображения на экране одновременно? и как вы показываете эти изображения, это прокрутка? добавьте дополнительную информацию: –

+0

Да, ее по существу пучок UIImageViews добавлен в один UIView. Я подклассифицирую UIImageViews и добавляю жест касания, чтобы их можно было поворачивать, зажимать, таскать. – user339946

ответ

5

Почему бы не использовать UICollectionView. Он предназначен для представления группы объектов (включая изображения) способом, аналогичным UITableVIew. Как память TableView автоматически управляется контроллером.

Дополнительную информацию см. На сайте documentation.

Вы не указали в своем вопросе, как именно вы используете этот набор изображений. Альтернативой является рисование изображений в графическом контексте с использованием Core Graphics. Это приведет к тому, что изображения будут отображаться в одном представлении, а не на нескольких представлениях. В памяти есть только одно растровое изображение. См. Пример Drawing a PNG Image Into a Graphics Context for Blending Mode Manipulation.

+0

Спасибо за ваш ответ. То, как я использую UIImageView, в основном разбивает кучу фотографий на экран, позволяя пользователю перетащить и изменить размер до тех пор, пока они не станут счастливыми. Я не думаю, что UICollectionView будет уместным, но ваше другое предложение может быть полезным и будет изучать его. Благодаря! – user339946