문제
iCarousel Library를 사용하여 내 화면에서 많은 UIView를 스크롤합니다.각보기는 전체 화면을 채 웁니다.
icarousel을 방식으로 구성하여 짧은 터치로 한 번의보기 만 스크롤해야합니다.
이제, 나는
carousel.scrollSpeed = 0.1;
.
하지만 한 화면에서 다른 화면으로 스크롤하려면 화면을 통해 손가락을 한쪽으로 손가락을 미끄러 져야합니다.
scrollSpeed
parametrt를 더 높은 값으로 설정하면 많은 UIViews가 스크롤되지만 원터치 당 하나의 UIView 만 스크롤하도록 구성해야합니다.
아무도 나를 도울 수 있습니까?
해결책
최상의 베팅은 회전식 자체의 스크롤을 비활성화하고 UISWipegestureRecognizer가 사용자가 방향으로 스 와이프 할 때 탐지 할 수 있도록 uiswipegesturerecognizer를 첨부하고 앞으로 스 와이프하는 경우 [Carousel ScrollByNumberofitems : 1 애니메이션 : 예] 호출, [Carousel ScrollByNumberOfItems : -1 애니메이션 : 예]가 뒤로 스 와이프하면
편집 :
실제로보기가 화면을 채우는 경우 iCarousel 대신 Swipeview 라이브러리를 사용하는 것이 더 나은 베팅이 될 것입니다. SwipeView에는 Icarousel과 동일한 인터페이스가 있지만 UIScrollView를 기반으로하므로 페이징을 활성화하고 NumberOfItemSperPage를 1로 설정하고 정확히 설명하는 방식으로 작동합니다.
다른 팁
실제로이 코드는 트릭을 수행합니다.
carousel.decelerationRate = 0.3;
. Carousel이 휘몰 렸을 때 감속되는 속도.값이 높을수록 감속이 느려집니다.기본값은 0.95입니다.값은 0.0 (회전 목사가 해제 될 때 즉시 회전식 정지)이어야합니다. (회전 목마가 끝나지 않고 늦어지지 않고 무기한 지속됩니다)
0에서 0.5 사이의 값을 시도해야합니다.ScrollView와 정확히 작동하지는 않지만 그게 가장 가까운 것이 가장 가깝습니다.참조 ( https://github.com/nicklockwood/icarousel/issues/94) <./ P>
이렇게 시도 할 수 있습니다 ---
self.iCarosoul.decelerationRate=0.65;
self.iCarosoul.scrollSpeed=3;
self.iCarosoul.stopAtItemBoundary=YES
self.iCarosoul.scrollToItemBoundary=YES;
.