• Swift轮播控件快速入门——FSPagerView


    2018年03月01日 19:17:42

    https://blog.csdn.net/sinat_21886795/article/details/79416068

    今天介绍一个IOS的轮播控件FSPagerView。

    FSPagerView是一个优雅的轮播控件,它可以十分轻松有效地制作轮播视图、产品展示、欢迎/指南页面。

    先上地址——Swift:  https://github.com/WenchaoD/FSPagerView

                        OC:  https://github.com/WenchaoD/FSPagerView/blob/master/README-OBJECTIVE-C.md

    Cocoapods集成方式——  pod 'FSPagerView'

    下载完成后导入FSPagerView:

    import FSPagerView
    初次导入时XCode会报错找不到项目,只要Build一下即可消除错误
    使用方法——  1.懒加载获取FSPagerView和FSPageControl的实例,在闭包中设置各个属性

                            FSPagerView是轮播视图类,FSPageControl是下标指示器类

    lazy var viewPager: FSPagerView = {
    let viewPager = FSPagerView()
    viewPager.frame = frame1
    viewPager.dataSource = self
    viewPager.delegate = self
    viewPager.register(FSPagerViewCell.self, forCellWithReuseIdentifier: cellId)
    //设置自动翻页事件间隔,默认值为0(不自动翻页)
    viewPager.automaticSlidingInterval = 1.0
    //设置页面之间的间隔距离
    viewPager.interitemSpacing = 8.0
    //设置可以无限翻页,默认值为false,false时从尾部向前滚动到头部再继续循环滚动,true时可以无限滚动
    viewPager.isInfinite = true
    //设置转场的模式
    viewPager.transformer = FSPagerViewTransformer(type: FSPagerViewTransformerType.depth)

    return viewPager
    }()
    lazy var pagerControl:FSPageControl = {
    let pageControl = FSPageControl(frame: frame2)
    //设置下标的个数
    pageControl.numberOfPages = 8
    //设置下标位置
    pageControl.contentHorizontalAlignment = .center
    //设置下标指示器边框颜色(选中状态和普通状态)
    pageControl.setStrokeColor(.white, for: .normal)
    pageControl.setStrokeColor(.gray, for: .selected)
    //设置下标指示器颜色(选中状态和普通状态)
    pageControl.setFillColor(.white, for: .normal)
    pageControl.setFillColor(.gray, for: .selected)
    //设置下标指示器图片(选中状态和普通状态)
    //pageControl.setImage(UIImage.init(named: "1"), for: .normal)
    //pageControl.setImage(UIImage.init(named: "2"), for: .selected)
    //绘制下标指示器的形状 (roundedRect绘制绘制圆角或者圆形)
    pageControl.setPath(UIBezierPath.init(roundedRect: CGRect.init(x: 0, y: 0, 5, height: 5), cornerRadius: 4.0), for: .normal)
    //pageControl.setPath(UIBezierPath(rect: CGRect(x: 0, y: 0, 8, height: 8)), for: .normal)
    pageControl.setPath(UIBezierPath(ovalIn: CGRect(x: 0, y: 0, 8, height: 8)), for: .selected)
    return pageControl

    }()

                        2.在viewDidLoad()方法中把viewPager和pageControl添加到主视图中

                self.view.addSubview(viewPager)

    self.view.addSubview(pagerControl)
                      3.实现FSPagerViewDataSource协议中的numberOfItems方法和

                        pageView(_ pagerView:FSPagerView,cellForItemAt index:Int)-> FSPagerViewCell方法,

                        通过这两个方法设置轮播页的个数和轮播的样式

                        /// Asks your data source object for the number of items in the pager view.
    @objc(numberOfItemsInPagerView:)
    func numberOfItems(in pagerView: FSPagerView) -> Int

    /// Asks your data source object for the cell that corresponds to the specified item in the pager view.
    @objc(pagerView:cellForItemAtIndex:)

    func pagerView(_ pagerView: FSPagerView, cellForItemAt index: Int) -> FSPagerViewCell
                       4.实现pegerView(_ pagerView: FSPagerView, willDisplay cell:FSPagerViewCell, forItemAt Index:Int)方法

                          该方法可以获得将要显示的cell对象和index,通过index可控制指示器圆点的移动

                           func pagerView(_ pagerView: FSPagerView, willDisplay cell: FSPagerViewCell, forItemAt index: Int) {
    pagerControl.currentPage = index

    }
                        5.Run      Success!
    ---------------------
    作者:sinat_21886795
    来源:CSDN
    原文:https://blog.csdn.net/sinat_21886795/article/details/79416068
    版权声明:本文为博主原创文章,转载请附上博文链接!

    FSPagerView:功能性和实用性均佳,应用领域广泛的幻灯片播放库

    https://juejin.im/entry/58a6409e570c35006995fb68

  • 相关阅读:
    windows CMD大全
    算法导论(一):渐进记号
    数据结构之树
    Python读取文件内容与存储
    Python绘图的颜色设置
    Python中多个列表与字典的合并方法
    Pandas之Dataframe叠加,排序,统计,重新设置索引
    数据挖掘——聚类算法(一)
    WPF学习————制作时钟
    Opencv Sharp 基于灰度模板的多目标匹配
  • 原文地址:https://www.cnblogs.com/sundaysme/p/10604897.html
Copyright © 2020-2023  润新知