SwiftBannerView
要求 :
- Kingfisher 4.0+
- Swift 4.0 +
- platform : iOS 10.0 +
SwiftBannerView下載鏈接
Object-c 版本
KNBannerView
無限循環(huán)輪播器:
- 本地圖片
- 網(wǎng)絡(luò)圖片
- 混合圖片(本地&&網(wǎng)絡(luò))
一.功能描述及要點(diǎn)
- [x] 1.無限圖片輪播器,加載 '本地圖片' && '網(wǎng)絡(luò)圖片' && '本地和網(wǎng)絡(luò)的混合圖片'
- [x] 2.Kingfisher加載網(wǎng)絡(luò)圖片
- [x] 3.通過代理方法執(zhí)行圖片的點(diǎn)擊事件
- [x] 4.collectView工作原理實(shí)現(xiàn)無限滾動
- [x] 5.設(shè)置UIPageControl的位置:(左,中,右) 以及顏色設(shè)置
- [x] 6.設(shè)置自定義PageControl,位置:(左,中,右),自定義圖片
- [x] 7.設(shè)置描述文字的位置:(左,中,右) 以及字體顏色,大小,背景顏色,背景透明度
- [x] 8.多張圖片滾動時(shí) 文字的多種顯示樣式.單張圖片時(shí)的樣式
- [x] 9.通過BannerModel的屬性,左右邊距 && 是否有圓角
二.方法定義及調(diào)用
1.類方法創(chuàng)建BannerView:本地圖片 || 網(wǎng)絡(luò)圖片 || 混合圖片
// 本地圖片
class func bannerViewLocationImgArr(_ locationImgArr :NSMutableArray?, bannerFrame frame :CGRect) -> SwiftBannerView
// 網(wǎng)絡(luò)圖片
class func bannerViewNetworkImgArr(_ networkImgArr :NSMutableArray?, bannerFrame frame :CGRect) -> SwiftBannerView
// 混合圖片 (網(wǎng)絡(luò) || 本地圖片)
class func bannerViewBlendImgArr(_ blendImgArr :NSMutableArray?, bannerFrame frame :CGRect) -> SwiftBannerView
2.設(shè)置bannerView的占位圖,定時(shí)器的時(shí)間
let bannerModel = SwiftBannerModel() // 統(tǒng)一通過 設(shè)置 模型來設(shè)置 里面的參數(shù)
bannerModel.isNeedTimerRun = true // 需要定時(shí)跑
bannerModel.timeInterval = 3 // 改變 定時(shí)器時(shí)間
bannerModel.placeHolder = UIImage.init(named: "1") // 設(shè)置占位圖
3.設(shè)置bannerView的PageControl的屬性
// 1.自定義 PageControl
let bannerModel = SwiftBannerModel() // 統(tǒng)一通過 設(shè)置 模型來設(shè)置 里面的參數(shù)
bannerModel.pageControlStyle = SwiftBannerPageControlStyle.right // pageControl 居右
bannerModel.pageControlImgArr = [UIImage.init(named: "pageControlSelected1")!,UIImage.init(named: "pageControlUnSelected1")!] // 自定義pageControl 的圖片
bannerModel.textArr = self.textArr.copy() as? NSArray // 顯示的文字
bannerModel.textChangeStyle = .follow // 文字 的顯示樣式
// 2.系統(tǒng)自帶PageControl
let bannerModel = SwiftBannerModel() // 統(tǒng)一通過 設(shè)置 模型來設(shè)置 里面的參數(shù)
bannerModel.isNeedPageControl = true // 默認(rèn)系統(tǒng)PageControl
bannerModel.pageControlStyle = SwiftBannerPageControlStyle.middle // pageControl 居中
5.1 讓 BannerView 無限循環(huán)
bannerModel.isNeedCycle = true // 讓bannerView 無限循環(huán), 默認(rèn) 不循環(huán)
5.2 BannerView 新增 左右邊距 和 是否有圓角
bannerModel.leftMargin = 10
bannerModel.bannerCornerRadius = 8
6.設(shè)置bannerView 介紹文字的屬性
let bannerModel = SwiftBannerModel() // 統(tǒng)一通過 設(shè)置 模型來設(shè)置 里面的參數(shù)
bannerModel.textArr = self.textArr.copy() as? NSArray // 顯示的文字 // 設(shè)置文字, 注意:如果文字和圖片的數(shù)量不相符,則沒有文字.如果不要文字,則不傳
bannerModel.textChangeStyle = .stay // 文字 的顯示樣式 // 設(shè)置文字展示的樣式
6.圖片的點(diǎn)擊
1>遵守 SwiftBannerViewDelegate
2>設(shè)代理 bannerView.delegate = self
3>執(zhí)行方法 func bannerView(_ bannerView: SwiftBannerView, collectionView: UICollectionView, collectionViewCell: SwiftBannerCollectioniewCell, didSelectItemAtIndexPath index: Int)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者