无限图片轮播器 --> Swift

2018-05-30  本文已影响179人  LuKane

SwiftBannerView

要求 :

SwiftBannerView下载链接

Object-c 版本

KNBannerView

无限循环轮播器:

BannerViewBlend.gif BannerViewlocate.gif BannerViewNetwork.gif

一.功能描述及要点

二.方法定义及调用

1.类方法创建BannerView:本地图片 || 网络图片 || 混合图片

// 本地图片
class func bannerViewLocationImgArr(_ locationImgArr :NSMutableArray?, bannerFrame frame :CGRect) -> SwiftBannerView
// 网络图片
class func bannerViewNetworkImgArr(_ networkImgArr :NSMutableArray?, bannerFrame frame :CGRect) -> SwiftBannerView
// 混合图片 (网络 || 本地图片)
class func bannerViewBlendImgArr(_ blendImgArr :NSMutableArray?, bannerFrame frame :CGRect) -> SwiftBannerView

2.设置bannerView的占位图,定时器的时间

let bannerModel = SwiftBannerModel() // 统一通过 设置 模型来设置 里面的参数
bannerModel.isNeedTimerRun  = true // 需要定时跑
bannerModel.timeInterval = 3 // 改变 定时器时间
bannerModel.placeHolder = UIImage.init(named: "1") // 设置占位图

3.设置bannerView的PageControl的属性

// 1.自定义 PageControl
let bannerModel = SwiftBannerModel() // 统一通过 设置 模型来设置 里面的参数
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.系统自带PageControl
let bannerModel = SwiftBannerModel() // 统一通过 设置 模型来设置 里面的参数
bannerModel.isNeedPageControl = true // 默认系统PageControl
bannerModel.pageControlStyle = SwiftBannerPageControlStyle.middle // pageControl 居中

5.1 让 BannerView 无限循环

bannerModel.isNeedCycle = true // 让bannerView 无限循环, 默认 不循环

5.2 BannerView 新增 左右边距 和 是否有圆角

bannerModel.leftMargin = 10
bannerModel.bannerCornerRadius = 8

6.设置bannerView 介绍文字的属性

let bannerModel = SwiftBannerModel() // 统一通过 设置 模型来设置 里面的参数
bannerModel.textArr = self.textArr.copy() as? NSArray // 显示的文字 // 设置文字, 注意:如果文字和图片的数量不相符,则没有文字.如果不要文字,则不传
bannerModel.textChangeStyle = .stay // 文字 的显示样式 // 设置文字展示的样式

6.图片的点击

1>遵守 SwiftBannerViewDelegate
2>设代理 bannerView.delegate = self
3>执行方法 func bannerView(_ bannerView: SwiftBannerView, collectionView: UICollectionView, collectionViewCell: SwiftBannerCollectioniewCell, didSelectItemAtIndexPath index: Int)
上一篇 下一篇

猜你喜欢

热点阅读