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