Лучший способ реализовать слайдер изображений
Я реализую образ Slider
в моем приложении я думаю, что знаю, как это сделать, но неэффективно.
я получил URL's
изображений (я не знаю число, может быть от 1 до 20, может быть больше..), поэтому я должен показать в view
и пользователь может сделать Swipe
перейти к следующей картинке или вернуться к картинке раньше.
Итак, я хотел бы знать, лучше ли это делать с G.C.D
а также blocks
или без него. если это с GCD
, Должен ли я заполнить и NSMutableData
с загруженными изображениями в UIview
а затем сделать swipe
..? лучше, если картинка загружается после каждого swipe gesture
?
Я не знаю, как справиться с этим. Есть идеи?
1 ответ
Вы не хотите хранить несколько больших изображений в памяти одновременно. Вам нужно решить 2 задачи: 1. Асинхронная загрузка изображения и загрузка их по одной.
Способ загрузки изображений заключается в использовании NSURLConnection. В NSURLConnection существует новый метод класса (sendAsynchronousRequest:queue: завершение и добавление в iOS 5), который загружает весь файл и вызывает блок после его завершения. Это проще в использовании, чем код, который создает соединение и обрабатывает различные методы делегата.
Вы можете начать несколько загрузок одновременно, и система позаботится об управлении ими. Я бы предложил делать не более 3 одновременно.
Вторая проблема заключается в том, как отображать изображения. Я бы предложил использовать UIPageViewController со стилем перехода UIPageViewControllerTransitionStyleScroll.
Если ваши изображения достаточно велики, вы должны их поразить.
В документах Xcode есть пример приложения от Apple под названием PhotoScroller. Он показывает, как обрабатывать несколько больших изображений, используя UIPageViewController и мозаику изображений. Если ваши изображения не так велики, то черепица может быть излишней. Работа с мозаичными изображениями, безусловно, сложна.