首页 > 编程 > Swift > 正文

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

2020-03-09 17:31:34
字体:
来源:转载
供稿:网友

效果图

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.whitepageFlowView.delegate = selfpageFlowView.dataSource = selfpageFlowView.minimumPageAlpha = 0.1pageFlowView.isCarousel = truepageFlowView.orientation = .verticalpageFlowView.isOpenAutoScroll = true//初始化pageControllet pageControl = UIPageControl.init(frame: CGRect.init(x: 0, y: pageFlowView.bounds.height-32, width: kScreenW, height: 8))pageFlowView.pageControl = pageControlpageFlowView.addSubview(pageControl)pageFlowView.reloadData()view.addSubview(pageFlowView)

源码下载:

总结

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


注:相关教程知识阅读请移步到swift教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表