SimpleImageSlider 中文說明文檔
一個用Swift寫的用于iOS的簡單易用的無限循環(huán)輪播圖控件,沒有任何依賴,參照提供的完整Demo工程你可以無比輕松地使用它!

Demo.gif
要求
- iOS 8.0 以上
- Xcode 8.0 以上
- Swift 3.0 以上
安裝
使用Carthage (推薦)
github "pangpingfei/SimpleImageSlider"
import SimpleImageSlider
Manually
- 把
SimpleImageSlider.swift拖到你的Xcode項目中。 - 恭喜!
使用概要
實現(xiàn) 'SimpleImageSliderData'
// 你自己的結(jié)構(gòu)體或類
struct MyData {
var id: String?
var image: UIImage?
var imageUrl: String?
}
extension MyData: SimpleImageSliderData {
public func setImage(for imageView: UIImageView) {
imageView.image = self.image
// 在這個方法里你同樣也可以加載網(wǎng)絡(luò)圖片
}
}
創(chuàng)建 SimpleImageSlider
// 創(chuàng)建一個輪播圖
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)
// 如果需要,你可以設(shè)置這些pageControl的屬性
slider.currentPageIndicatorColor = nil //.black
slider.pageIndicatorColor = nil //.gray
slider.hidePageControlForSinglePage = true
// slider = SimpleImageSlider(frame: frame)
// 如果你用init(frame) 的方法創(chuàng)建的Slider,需要再設(shè)置數(shù)據(jù)源和代理。
// slider.delegate = self
// slider.dataSource = self
// 把輪播圖添加到你的view
self.view.addSubview(slider)
// 如果你想停止或開始自動輪播,設(shè)置這個屬性
slider.isEnableAutoSlide = false
實現(xiàn) 'SimpleImageSliderDataSource'
func simpleImageSlider(_ imageSlider: SimpleImageSlider) -> [SimpleImageSliderData] {
return data
}
fileprivate var data = [MyData]()
// 準備數(shù)據(jù)源
for i in 1...3 {
if let image = UIImage(named: "\(i)") {
data.append(MyData(id: "\(i)", image: image, imageUrl: nil))
} else {
break
}
}
實現(xiàn) 'SimpleImageSliderDelegate'
func simpleImageSlider(_ imageSlider: SimpleImageSlider, didTouchImageAt imageSliderData: SimpleImageSliderData) {
// 圖片被點擊后,在這里你可以做你想要做的事情
let msg = "simpleImageSlider didTouchImageAt \((imageSliderData as! MyData).id!)"
print(msg)
}
注意?。。?/h3>
// 如果你的數(shù)據(jù)源發(fā)生變化了,使用reloadData即可刷新。
slider.reloadData()
// 如果你要銷毀釋放,最好先把isEnableAutoSlide設(shè)置為false
// 同樣的,如果你的View不在可見狀態(tài),你應該設(shè)置為false,在可見時再設(shè)置為true。
// 就像controller, 在'viewDidAppear'中: slider.isEnableAutoSlide = true, 在'viewWillDisappear'中: slider.isEnableAutoSlide = false
slider.isEnableAutoSlide = false
更多……
請用Git克隆項目后參考演示工程。
許可
// 如果你的數(shù)據(jù)源發(fā)生變化了,使用reloadData即可刷新。
slider.reloadData()
// 如果你要銷毀釋放,最好先把isEnableAutoSlide設(shè)置為false
// 同樣的,如果你的View不在可見狀態(tài),你應該設(shè)置為false,在可見時再設(shè)置為true。
// 就像controller, 在'viewDidAppear'中: slider.isEnableAutoSlide = true, 在'viewWillDisappear'中: slider.isEnableAutoSlide = false
slider.isEnableAutoSlide = false
請用Git克隆項目后參考演示工程。
MIT,詳見 LICENSE file。