服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Swift - Swift仿选择电影票的效果并实现无限/自动轮播的方法

Swift仿选择电影票的效果并实现无限/自动轮播的方法

2021-01-12 16:20船长_ Swift

这篇文章主要给大家介绍了关于Swift仿选择电影票的效果并实现无限/自动轮播的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

效果图

Swift仿选择电影票的效果并实现无限/自动轮播的方法

Swift仿选择电影票的效果并实现无限/自动轮播的方法

实现了什么功能?

1.类似于选择电影票的效果

2.自动轮播

3.无限轮播

4.非当前显示view具有缩放和透明的特效

5.页面滚动的方向分为横向和纵向

仿照UITableView使用代理实现传值

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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
}

使用示例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 模拟器原因,底部会有残影,真机测试没有
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)

源码下载:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:https://www.jianshu.com/p/f9e1b843c77c

延伸 · 阅读

精彩推荐