Swift仿選擇電影票的效果並實現無限/自動輪播的方法

這篇文章主要給大家介紹了關於Swift仿選擇電影票的效果並實現無限/自動輪播的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨着小編來一起學習學習吧

效果圖



實現了什麼功能?

1.類似於選擇電影票的效果

2.自動輪播

3.無限輪播

4.非當前顯示view具有縮放和透明的特效

5.頁面滾動的方向分爲橫向和縱向

仿照UITableView使用代理實現傳值

protocol PageFlowViewDelegate : NSObjectProtocol{
 func sizeForPageInFlowView(flowView : PageFlowView) -> CGSize
 /// 滾動到了某一列
 func didScrollToPage(pageNumber : Int,inFlowView flowView : PageFlowView)
 
 /// 點擊了第幾個cell
 ///
 /// - Parameters:
 /// - subView: 點擊的控件
 /// - subIndex: 點擊控件的index
 func didSelectCell(subView : IndexBannerSubiew,subViewIndex subIndex : Int)
}

protocol PageFlowViewDataSource : NSObjectProtocol{
 /// 返回顯示View的個數
 func numberOfPagesInFlowView(flowView : PageFlowView) -> Int
 
 /// 給某一列設置屬性
 ///
 /// - Parameters:
 /// - flowView: <#flowView description#>
 /// - index: <#index description#>
 /// - Returns: <#return value description#>
 func cellForPageAtIndex(flowView : PageFlowView,atIndex index : Int) -> IndexBannerSubiew
}

使用示例

// 模擬器原因,底部會有殘影,真機測試沒有
let pageFlowView = PageFlowView.init(frame: CGRect.init(x: 0, y: 72, width: kScreenW, height: kScreenW*9/16))
pageFlowView.backgroundColor = UIColor.white

pageFlowView.delegate = self
pageFlowView.dataSource = self
pageFlowView.minimumPageAlpha = 0.1
pageFlowView.isCarousel = true
pageFlowView.orientation = .vertical
pageFlowView.isOpenAutoScroll = true

//初始化pageControl
let pageControl = UIPageControl.init(frame: CGRect.init(x: 0, y: pageFlowView.bounds.height-32, width: kScreenW, height: 8))
pageFlowView.pageControl = pageControl
pageFlowView.addSubview(pageControl)
pageFlowView.reloadData()
view.addSubview(pageFlowView)

源碼下載:

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對神馬文庫的支持。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章