Задача конфигурации Icarousel
Вопрос
Я использую библиотеку ICarousel, чтобы прокрутить много UIView на моем экране.Каждый вид заполняет весь экран.
Мне нужно настроить iCarousel таким образом, чтобы прокрутить только один вид с коротким прикосновением.
Теперь у меня есть
carousel.scrollSpeed = 0.1;
.
Но чтобы прокрутить с одного экрана на другой, мне нужно скользить палец по экрану с одной стороны на другой.
Если я устанавливаю параметр scrollSpeed
к более высокой цене, многие UIViews прокручиваются, но мне нужно настроить для прокрутки только одного UIView на одно касание.
Может кто-нибудь помочь мне?
Решение
Ваша лучшая ставка будет отключить прокрутку на самой карусели и прикрепить UiswipegestureCognize, чтобы обнаружить, когда пользователь проводит в любом направлении, то вызовите [CAROUSEL Scrollbynumberoftems: 1 анимирован: Да] Если они проводятся вперед, а [Carousel Scrollbynumberoftems: -1 анимирован: Да] Если они проводят назад.
Редактировать:
На самом деле, если представления заполняют экран, я думаю, что еще лучшая ставка будет для вас использовать мою библиотеку Swipews вместо Icarousel. Swipewwiew имеет тот же интерфейс, что и incarousel, но основан на UIScrollView, поэтому вы можете включить пейджинг, установить NUMPITEMPERPAGE на 1 и подумать, что он ведет себя именно так, как вы описываете.
https://github.com/nicklockwood/swipeview
Обновление:
Вышеуказанная информация устарела. Icarousel теперь поддерживает одностраничное проведение, установив pagingEnabled=YES
. Тем не менее, Swipiew может быть более уместным, если это то, что вы пытаетесь сделать.
Другие советы
На самом деле этот код сделает трюк.
carousel.decelerationRate = 0.3;
. Скорость, на которой карусель замедляется при щелчке.Более высокие значения означают более медленное замедление.Значение по умолчанию составляет 0,95.Значения должны находиться в диапазоне 0.0 (карусель останавливается сразу, когда выделяется) до 1,0 (карусель продолжается бесконечно, не замедление, если только она не достигает конца).
Вы должны попробовать значение от 0 до 0,5.Это не будет вести себя точно так же, как ScrollView, но это самая близкая, что вы можете получить его.Обратитесь ( https://github.com/nicklockwood/icarousel/issues/94 ) .
Вы можете попробовать это ---
self.iCarosoul.decelerationRate=0.65;
self.iCarosoul.scrollSpeed=3;
self.iCarosoul.stopAtItemBoundary=YES
self.iCarosoul.scrollToItemBoundary=YES;
.