2010-02-10 2 views
0

Я начал внедрять UIScrollView, который будет содержать много изображений размером с миниатюры и будет прокручиваться только по горизонтали. Для этого я сохраняю ограниченное число UIImageView s, созданных и удаляющих/добавляющих их в UIScrollView, когда пользователь прокручивает его.Горизонтальный UIScrollView с изображениями в компоненте?

Проблема заключается в том, что мне нужно найти способ ее оптимизации, поскольку прокрутка иногда становится вялой. Возможно, это добавление/удаление из представления, я не знаю.

Я считаю, что это обычный компонент, который может быть реализован несколько раз, но я не мог найти библиотеку, в которой было что-то вроде этого. Если есть что-то готовое, мне не нужно будет тратить много часов на тонкую настройку или выяснять, как улучшить мой компонент.

Это отличается от вопроса, заданного здесь много раз: я не хочу, чтобы он вел себя как приложение для фотографий. Я хочу, чтобы многие фотографии были видны за раз и плавно прокручивали их, без «жестких страниц».

Итак, кто-нибудь знает о компоненте, который делает что-то похожее на это?

ответ

3

мне удалось сделать что-то подобное, используя повернутый UITableView вместо:

UITableView *tableView = [[UITableView alloc] initWithFrame:...]; 
tableView.transform = CGAffineTransformMakeRotation(-M_PI/2); 

Вы можете настроить свои UITableViewCells для отображения изображений. Вы также можете повернуть UITableViewCell contentsView.

+0

Это действительно умно. Интересно, однако, разве прокрутка uitableview не становится «вялой» с изображениями на ней? –

+0

это * действительно * прохладный. попробует новый проект. – leolobato

+1

Спектакли были действительно удовлетворительными в моем проекте. –

1

Я сделал двухмерный прокручиваемый компонент под названием DTGridView. Вы можете использовать его только с одной строкой, чтобы сделать чисто горизонтальное представление прокрутки. Он имеет API, похожий на UITableView, где у вас есть dataSource и делегат, чтобы рассказать ему, сколько строк/столбцов и т. Д. И обрабатывать события касания для ячеек.

Он также использует метод повторного использования ячеек, например UITableView, для сохранения в памяти. Если вы не используете повторное использование ячеек в представлениях таблицы, вы должны быть. :)

+0

приятно, будет играть с компонентами немного. – leolobato

Смежные вопросы