2017-02-06 11 views
0

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

slider with images image viewer

Для слайдера я создал UICollectionView и каждая ячейка изображения. Если я нажимаю на ячейку, загружается отдельный ViewController (который работает как средство просмотра изображений). В этом представлении есть UIImageView для большого изображения.

И это мой список вопросов: 1) Что является лучшим способом, чтобы сделать пользователю возможность смены изображений в средстве просмотра изображений, проводя 2) Где я должен заботиться об использовании памяти больше всего. Потому что даже с небольшим количеством небольших изображений он не выглядит очень плавным в симуляторе. 3) Является ли это правильным способом создания программы просмотра слайдов изображений или я что-то упускаю? Может быть, есть некоторые рамки, которые касаются этого с загрузкой кеш-асинхронной загрузки и другими интересными функциями?

+0

Что вы думаете, если вы идете с UIPageViewController, я имею в виду, что вы можете сделать два изображения на contentviewcontroller один для небольших изображений, а другой для больших изображений. В первый раз вы можете показать небольшую галерею изображений и скрыть большие изображения, когда пользователь нажимает на любое изображение, которое вы можете скрыть маленькую галерею изображений. Я показываю большое изображение с нужной анимацией. –

+0

Чтобы пронести между изображениями, создайте массив изображений, и всякий раз, когда пользователь выполняет поиск, используйте: ** ImageView.image = myImages [i + 1] ** или ** [i-1] **, где ** i ** будет служить счетчиком через изображения. И когда вы выбираете изображение и готовитесь к segue, передайте значение i в подробный контроллер просмотра изображений. Это очень удобно, так как вы можете использовать значение ** i ** для создания этого «i/15» –

ответ

1

Я не знаю, откуда взялось ваше изображение. Является ли это с сервера или скопировано для добавления в приложение?

Для небольших изображений u следует использовать миниатюры (не загружайте большие изображения там, вместо этого предварительно обрабатывайте изображения и создавайте эскиз, как 500x500 заранее или меньше, и покажите это). Если вы загружаетесь с сервера, найдите «ленивые загрузки изображений», используя GCD для обработки асинхронного процесса.

Использование CollectionView для этой цели в порядке. В качестве альтернативы вы можете настроить UIPickerView на эффект «привязки» на выбранном изображении вместо бесплатной прокрутки. Другая альтернатива - пользовательский контроль, который вы можете найти в github.

Редактировать: если ваша прокрутка страдает для CollectionView, скорее всего, вы можете использовать layer.masksToBound = YES. Это ухудшит производительность. Не используйте это.

+0

спасибо! Изображения загружаются с сервера – moonvader