JMCarouselView 是本人 Jimmy 使用Swift語言封裝的圖片輪播器。 基于UIScrollView/UICollectionView 用兩種思路做了整合, 可實現(xiàn)無間隙循環(huán)播放,可方便的整合入app , 支持本地圖片和網(wǎng)絡圖片(依賴SDWebImage 第三方庫), 簡單易用。
Github地址:
https://github.com/JimmyPeng4iOS/JMCarouselView
無間隙循環(huán)展示

JMCarouselView.gif
使用方法:
- 主要有兩種思路
ScrollView
- 初始化方法1 -- 網(wǎng)絡加載
/** 初始化方法1,傳入圖片URL數(shù)組,以及pageControl的當前page點的顏色,特別注意需要SDWebImage框架支持 - parameter frame: frame - parameter imgURLArray: 圖片URL數(shù)組 - parameter pagePointColor: pageControl的當前page點的顏色 - parameter stepTime: 廣告每一頁停留時間 - returns: ScrollView圖片輪播器 */ headerView = JMCarouselScrollView( frame: CGRect(x: 0, y: 0, width:UIScreen.mainScreen().bounds.width, height: 220), imageURLArray: urlStringArr(), pagePointColor: UIColor.whiteColor(), stepTime: 2.0)
* 初始化方法2 -- 本地加載
/**
初始化方法2,傳入圖片數(shù)組,以及pageControl的當前page點的顏色,無需依賴第三方庫
- parameter frame: frame
- parameter imgArray: 圖片數(shù)組
- parameter pagePointColor: pageControl的當前page點的顏色
- parameter stepTime: 廣告每一頁停留時間
- returns: ScrollView圖片輪播器
*/
headerView = JMCarouselScrollView(
frame: CGRect(x: 0, y: 0, width:UIScreen.mainScreen().bounds.width, height: 220),
imgArray: imgArray(),
pagePointColor: UIColor.whiteColor(),
stepTime: 2.0)
ScrollView是采用前后添加一張圖片,然后到達多出來的兩張圖片瞬間跳轉(zhuǎn)(肉眼觀察不到)的方式來實現(xiàn)無限輪播
##CollectionView
* 初始化方法1 -- 網(wǎng)絡加載
/**
初始化方法1,傳入圖片URL數(shù)組,以及pageControl的當前page點的顏色,特別注意需要SDWebImage框架支持
- parameter frame: frame
- parameter imgURLArray: 圖片URL數(shù)組
- parameter pagePointColor: pageControl的當前page點的顏色
- parameter stepTime: 廣告每一頁停留時間
- returns: ScrollView圖片輪播器
*/
headerView = JMCarouselCollection(
frame: CGRect(x: 0, y: 0, width:UIScreen.mainScreen().bounds.width, height: 220),
imageURLArray: urlStringArr(),
pagePointColor: UIColor.whiteColor(),
stepTime: 2.0)
* 初始化方法2 -- 本地加載
/**
初始化方法2,傳入圖片數(shù)組,以及pageControl的當前page點的顏色,無需依賴第三方庫
- parameter frame: frame
- parameter imgArray: 圖片數(shù)組
- parameter pagePointColor: pageControl的當前page點的顏色
- parameter stepTime: 廣告每一頁停留時間
- returns: ScrollView圖片輪播器
*/
headerView = JMCarouselCollection(
frame: CGRect(x: 0, y: 0, width:UIScreen.mainScreen().bounds.width, height: 220),
imgArray: imgArray(),
pagePointColor: UIColor.whiteColor(),
stepTime: 2.0)
CollectionView是添加大量的組,每一組的items就是需要展示的圖片,來實現(xiàn)偽無限輪播,由于SDWebImage自帶緩存功能, 使用本地的方式也會去下載,該方法不會浪費用戶流量
#注意事項:
1. 需要使用第一種初始化方式傳入URL的時候, 需要依賴第三方庫 SDWebImage!! ⊙▽⊙
2. 通過替換`Assets.xcassets`資源夾內(nèi)的`holder.jpg`可更改placeholderImage(建議使用同名,要更換名字可到源文件下更改)
3. 需要定義一個屬性強引用輪播器,以便于釋放內(nèi)存
eg.
var headerView: JMCarouselCollection?
headerView =JMCarouselCollection(xxxxxxxx)
tableView.tableHeaderView = headerView
//MARK:釋放
override func viewWillDisappear(animated: Bool)
{
headerView?.stopTimer()
}
---
#####最后 再來一遍github地址 (??????)??
<https://github.com/JimmyPeng4iOS/JMCarouselView>
---