1. 程式人生 > >Swift輪播控件快速入門——FSPagerView

Swift輪播控件快速入門——FSPagerView

展示 selected 顯示 spl cocoapods spec orm urn self

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