最近自己動(dòng)手造輪子,實(shí)現(xiàn)了一個(gè)無限圖片輪播器,并擴(kuò)展了豐富的自定義屬性,可以自定義滾動(dòng)方向、播放間隔、點(diǎn)擊事件等。
效果展示:

輪播器演示.gif
- 實(shí)現(xiàn)了自動(dòng)輪播、手動(dòng)拖拽??梢员O(jiān)聽用戶的點(diǎn)擊事件。
- 主要實(shí)現(xiàn)思路是使用一個(gè)ScrollView和3個(gè)imageView,通過滾動(dòng)結(jié)束時(shí)修改imageView在scrollView中的位置來實(shí)現(xiàn)無限滾動(dòng)。
- 相比于N張imageView的實(shí)現(xiàn)方式,節(jié)省內(nèi)存;相比于UICollectionView的實(shí)現(xiàn)方式,優(yōu)化了在最后一張向第一張切換時(shí)的效果。
同時(shí)支持了大量的自定義屬性,包括自動(dòng)滾動(dòng)的方向等。
具體詳見 GitHub地址:
https://github.com/CoulsonWang/CWCarouselView
如果喜歡,請Star,謝謝!
如果有問題,歡迎賜教;若有好的修改建議,歡迎pull request!
8月18日更新:
- 修復(fù)了拖拽結(jié)束時(shí)會(huì)自動(dòng)滾動(dòng)一次的BUG(bug是因?yàn)閐idEndCelerating方法中沒有做兼容未滾動(dòng)分頁的情況導(dǎo)致的)
- 增加了支持的pageControl的位置。由原本的左中右三個(gè)位置擴(kuò)充為左上、中上、右上、左下、中下、右下六個(gè)位置
- 支持了自定義滾動(dòng)動(dòng)畫的動(dòng)畫時(shí)長