美文网首页Swift第三方类库
【轮播图】SimpleImageSlider framework

【轮播图】SimpleImageSlider framework

作者: 竹菜板 | 来源:发表于2017-01-06 20:31 被阅读89次

    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

        本文链接:https://www.haomeiwen.com/subject/qmsxbttx.html