日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Swift 4 无限滚动轮播图(UICollectionView实现)

發布時間:2025/5/22 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Swift 4 无限滚动轮播图(UICollectionView实现) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作為一個資深(自認為)iOS程序猿,會經常用到輪播圖,但是總是感覺自己實現要比直接用別人的要方便一點,并且有一些需求需要深度定制,于是想著自己封裝一個可以定制化的輪播圖庫JCyclePictureView。

GitHub地址

1、核心代碼


數據處理

通過更改數據源來給用戶一個假象,圖片在無限滾動(其實一共只有3個 cell),默認顯示第一個,右滑 index + 1, 左滑 index - 1,然后修改數據源,異步回到第一個cell(注意不能有動畫)


滑動事件

2、可定制 cell


深度定制 cell
自定義 cell 的回調

本質為UICollectionView 的cellForItemAt 代理,需自己實現賦值邏輯


cellForItemAt

3、滾動方向


輪播圖滾動方向

支持 上下左右 四種滾動方式


定時器事件

實際為 UICollectionView 用動畫滾動到 第0個 cell 還是第2個 cell


UICollectionView動畫

4、PageControl

為實現可支持圖片的PageControl,寫了一個繼承UIPageControl 的 JPageControl


JPageControl

紅框內為核心代碼,原理其實很簡單,在每一個 顯示的點上面添加一張圖片,然后根據 currentPage 屬性修改圖片


JPageControl對齊方式

目前對齊方式支持 left、center、right,通過修改 frame 確定位置

5、其它需求


init方法

pictures 可以之后設置 pictures支持本地、網絡圖片同時加載


輪播圖標題

設置標題時 PageControl 自動右對齊


點擊圖片回調

index 從0 開始


自動播放時間

小于0.5秒不自動播放(如果不想自動播放可以 設為 0)


圖片的ContentMode

設置圖片的ContentMode

6、用法


用法
自定義 cell

如果使用過程中出現問題,可隨時 mr_banma@126.com 郵件聯系。

ps:如果喜歡,記得 Star 一下,謝謝支持

源碼


轉載于:https://juejin.im/post/5a3a159a5188257d38441c31

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Swift 4 无限滚动轮播图(UICollectionView实现)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。