iCarousel 配置任务

Posted

技术标签:

【中文标题】iCarousel 配置任务【英文标题】:iCarousel configuration task 【发布时间】:2012-10-02 13:08:53 【问题描述】:

我使用 iCarousel 库在我的屏幕上滚动许多 UIView。每个视图填满整个屏幕。

我需要以某种方式配置 iCarousel,以便通过短触仅滚动一个视图。

现在,我有

carousel.scrollSpeed = 0.1;

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

谁能帮帮我?

【问题讨论】:

【参考方案1】:

您最好的选择是禁用轮播本身的滚动并附加一个 UISwipeGestureRecognizer 来检测用户何时向任一方向滑动,然后如果他们向前滑动则调用 [carousel scrollByNumberOfItems:1 animated:YES],然后调用 [carousel scrollByNumberOfItems: -1 动画:YES] 如果他们向后滑动。

编辑:

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

https://github.com/nicklockwood/SwipeView

更新:

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

【讨论】:

【参考方案2】:

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

carousel.decelerationRate = 0.3;

【讨论】:

【参考方案3】:

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

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

【讨论】:

【参考方案4】:

你可以这样试试---

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

【讨论】:

以上是关于iCarousel 配置任务的主要内容,如果未能解决你的问题,请参考以下文章

怎样轻松实现iOS9多任务管理器效果(iCarousel高级教程)

使用 iCarousel 进行无限循环

iCarousel的简单介绍及应用

iCarousel 多个笔尖

需要在icarousel中拖放视图

iCarousel 未正确设置标签