iCarousel配置任务

时间:2012-10-02 13:08:54

标签: ios icarousel

我使用iCarousel库,在屏幕上滚动许多UIViews。每个视图都会填满整个屏幕。

我需要以某种方式配置iCarousel,只需短暂滚动一个视图。

现在,我有

carousel.scrollSpeed = 0.1;

但是要从一个屏幕滚动到另一个屏幕,我需要将手指从一侧滑到另一侧。 如果我将scrollSpeed parametr设置为更高的值,则会滚动许多UIView,但我需要配置为每次触摸只滚动一个UIView。

有人能帮助我吗?

4 个答案:

答案 0 :(得分:6)

你最好的选择是在旋转木马本身上禁用滚动并附加UISwipeGestureRecognizer以检测用户何时向任一方向滑动,然后如果他们向前滑动则调用[carousel scrollByNumberOfItems:1 animated:YES],[carousel scrollByNumberOfItems: -1 animated:YES]如果他们向后滑动。

编辑:

实际上,如果视图填满了屏幕,我认为更好的选择是使用我的SwipeView库而不是iCarousel。 SwipeView具有与iCarousel相同的界面,但基于UIScrollView,因此您可以启用分页,将numberOfItemsPerPage设置为1并使其行为与您描述的完全相同。

https://github.com/nicklockwood/SwipeView

更新:

以上信息已过时。 iCarousel现在通过设置pagingEnabled=YES来支持单页滑动。也就是说,如果您正在尝试这样做,SwipeView可能仍然更合适。

答案 1 :(得分:1)

实际上,这段代码可以解决问题。

carousel.decelerationRate = 0.3;

答案 2 :(得分:1)

  

旋转木马时减速的速度。值越高意味着减速越慢。默认值为0.95。值应该在0.0范围内(旋转木马在释放时立即停止)到1.0(旋转木马会无限期地继续而不会减速,除非它到达终点)。

您应该尝试0到0.5之间的值。它的行为与滚动视图完全不同,但这是最接近它的。参阅(https://github.com/nicklockwood/iCarousel/issues/94

答案 3 :(得分:1)

你可以这样试试---

self.iCarosoul.decelerationRate=0.65;
self.iCarosoul.scrollSpeed=3;
self.iCarosoul.stopAtItemBoundary=YES
self.iCarosoul.scrollToItemBoundary=YES;