首页 > 编程语言 > 详细

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

时间:2019-03-27 01:04:13      阅读:376      评论:0      收藏:0      [点我收藏+]

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, width: 5, height: 5), cornerRadius: 4.0), for: .normal)
//pageControl.setPath(UIBezierPath(rect: CGRect(x: 0, y: 0, width: 8, height: 8)), for: .normal)
pageControl.setPath(UIBezierPath(ovalIn: CGRect(x: 0, y: 0, width: 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

 

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

原文:https://www.cnblogs.com/sundaysme/p/10604897.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!