【輪播圖】SimpleImageSlider framework for iOS

SimpleImageSlider 中文說明文檔

項目地址:https://github.com/pangpingfei/SimpleImageSlider

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

Demo.gif

要求

  • iOS 8.0 以上
  • Xcode 8.0 以上
  • Swift 3.0 以上

安裝

使用Carthage (推薦)

中文簡易教程Github](https://github.com/pangpingfei/SwiftBlog/blob/master/Others/Carthage.md) | [中文簡易教程Jianshu

github "pangpingfei/SimpleImageSlider"
import SimpleImageSlider

Manually

  1. SimpleImageSlider.swift 拖到你的Xcode項目中。
  2. 恭喜!

使用概要

實現(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克隆項目后參考演示工程。

許可

MIT,詳見 LICENSE file

項目地址:https://github.com/pangpingfei/SimpleImageSlider

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • SimpleLoadingView 中文說明文檔 項目地址:https://github.com/pangping...
    竹菜板閱讀 184評論 0 1
  • 首先介紹下自己的背景: 我11年左右入市到現(xiàn)在,也差不多有4年時間,看過一些關(guān)于股票投資的書籍,對于巴菲特等股神的...
    瞎投資閱讀 5,936評論 3 8
  • ![Flask](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW...
    極客學院Wiki閱讀 7,797評論 0 3
  • 不知不覺易趣客已經(jīng)在路上走了快一年了,感覺也該讓更多朋友認識知道易趣客,所以就謝了這篇簡介,已做創(chuàng)業(yè)記事。 易趣客...
    Physher閱讀 3,810評論 1 2
  • 雙胎妊娠有家族遺傳傾向,隨母系遺傳。有研究表明,如果孕婦本人是雙胎之一,她生雙胎的機率為1/58;若孕婦的父親或母...
    鄴水芙蓉hibiscus閱讀 3,898評論 0 2

友情鏈接更多精彩內(nèi)容