欢迎来到代码驿站!

当前位置:首页 >

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

时间:2020-12-20 12:36:01|栏目:|点击:

效果图



实现了什么功能?

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)

源码下载:

总结

上一篇:正则表达式教程之重复匹配详解

栏    目:

下一篇:R语言ggplot2边框背景去除的实现

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

本文地址:http://www.codeinn.net/misctech/34703.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有