iCarousel源码地址:https://github.com/nicklockwood/iCarousel
A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS
这是iCarousel开发者对其的简述。我在使用的过程中,觉得iCarousel类可以作为 视图切换控件(超好用)、轮播图(效果一般) 两大功能使用。
关于iCarousel的创建以及使用,其他关于iCarousel的文章都有详细介绍,在此不再赘述。
iCarousel有一个属性autoscroll, 设置后可自动滚动。iCarousel还有一个属性scrollSpeed, 该属性为滚动倍速。
一般情况下,大家会这样设置:
_ica.autoscroll = YES;
_ica.scrollSpeed = 10.0;
然后运行后会发现跟我们预期的不一样,滚动方向为向右滚动,速度好像也过快。效果如下:
这种写法滚动方向与需求相反,查询了各种博客文档,均没有说明怎么调转滚动方向。
仔细查看autoscroll属性,发现其类型是CGFloat,而非BOOL,遂猜测可以写负数。效果如下:
但是此时速度有点过快,想要调整速度,发现scrollSpeed属性对速度影响不是很大。scrollSpeed数值越大速度越快,数值为零点几时速度丝毫没有减慢,遂猜测速度大约跟scrollSpeed属性没有直接关系。
后发现速度跟autoscroll属性有关系,并发现自动滚动是按照像素滚动的,滚动速度亲测,-0.5>-0.2。
最后代码:
_ica.autoscroll = -0.2;
最终效果如下:
反正总之,滚动方向、滚动速度都是autoscroll属性控制的,啰啰嗦嗦写了一大堆,其实就一句话的事。