【轮播图】SimpleImageSlider framework for iOS

SimpleImageSlider 中文说明文档

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

一个用Swift写的用于iOS的简单易用的无限循环轮播图控件,没有任何依赖,参照提供的完整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. 恭喜!

使用概要

实现 '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。

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

你可能感兴趣的:(【轮播图】SimpleImageSlider framework for iOS)