SimpleImageSlider 中文说明文档
一个用Swift写的用于iOS的简单易用的无限循环轮播图控件,没有任何依赖,参照提供的完整Demo工程你可以无比轻松地使用它!
Demo.gif要求
- iOS 8.0 以上
- Xcode 8.0 以上
- Swift 3.0 以上
安装
使用Carthage (推荐)
github "pangpingfei/SimpleImageSlider"
import SimpleImageSlider
Manually
- 把
SimpleImageSlider.swift
拖到你的Xcode项目中。 - 恭喜!
使用概要
实现 'SimpleImageSliderData'
// 你自己的结构体或类
struct MyData {
var id: String?
var image: UIImage?
var imageUrl: String?
}
extension MyData: SimpleImageSliderData {
public func setImage(for imageView: UIImageView) {
imageView.image = self.image
// 在这个方法里你同样也可以加载网络图片
}
}
创建 SimpleImageSlider
// 创建一个轮播图
let frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.width/2)
slider = SimpleImageSlider(frame: frame, dateSource: self, delegate: self)
// 如果需要,你可以设置这些pageControl的属性
slider.currentPageIndicatorColor = nil //.black
slider.pageIndicatorColor = nil //.gray
slider.hidePageControlForSinglePage = true
// slider = SimpleImageSlider(frame: frame)
// 如果你用init(frame) 的方法创建的Slider,需要再设置数据源和代理。
// slider.delegate = self
// slider.dataSource = self
// 把轮播图添加到你的view
self.view.addSubview(slider)
// 如果你想停止或开始自动轮播,设置这个属性
slider.isEnableAutoSlide = false
实现 'SimpleImageSliderDataSource'
func simpleImageSlider(_ imageSlider: SimpleImageSlider) -> [SimpleImageSliderData] {
return data
}
fileprivate var data = [MyData]()
// 准备数据源
for i in 1...3 {
if let image = UIImage(named: "\(i)") {
data.append(MyData(id: "\(i)", image: image, imageUrl: nil))
} else {
break
}
}
实现 'SimpleImageSliderDelegate'
func simpleImageSlider(_ imageSlider: SimpleImageSlider, didTouchImageAt imageSliderData: SimpleImageSliderData) {
// 图片被点击后,在这里你可以做你想要做的事情
let msg = "simpleImageSlider didTouchImageAt \((imageSliderData as! MyData).id!)"
print(msg)
}
注意!!!
// 如果你的数据源发生变化了,使用reloadData即可刷新。
slider.reloadData()
// 如果你要销毁释放,最好先把isEnableAutoSlide设置为false
// 同样的,如果你的View不在可见状态,你应该设置为false,在可见时再设置为true。
// 就像controller, 在'viewDidAppear'中: slider.isEnableAutoSlide = true, 在'viewWillDisappear'中: slider.isEnableAutoSlide = false
slider.isEnableAutoSlide = false
更多……
请用Git克隆项目后参考演示工程。
许可
MIT,详见 LICENSE file。
网友评论