pageControl与ScrollView的联合使用
来源:互联网 发布:淘宝助手软件 编辑:程序博客网 时间:2024/05/17 07:21
pageControl和scrollVIE可以联合使用,scrollview主要有几个属性 一个contentSize 是总共的视图的容量大小,每个view的x坐标要不相同 随后实现scrollview的协议,当scrollview翻页的时候,来实现pagecontrol的翻页,读出他的contentoffset事偏移量 为一个CGPoint 读出后,x的坐标除以viewwidth便可以实现pagecontrol实现的不同了,随后在pagecontrol中添加目标时间,当值发生改变时,引起事件,随后导致scrollview翻页效果的产生即可,要记住scrollview的pageControl的属性一定要设置为true,否则无法实现翻页的效果 下面看具体的代码
import UIKitclass ViewController: UIViewController,UIScrollViewDelegate { var scrollView:UIScrollView! var pageControl:UIPageControl! var viewHeight:CGFloat = 0 var viewWidth:CGFloat = 0 override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. //初始化 viewHeight = self.view.frame.size.height viewWidth = self.view.frame.size.width //创建屏幕滚动的视图 self.scrollView = UIScrollView(frame: CGRectMake(0,0,viewWidth,viewHeight)) //包含的大小 高度不变 宽度变为原来的3倍 self.scrollView.contentSize = CGSize(width: viewWidth * 3, height: viewHeight) //随着页面变化器而变化 scrollView.pagingEnabled = true //设置代理 scrollView.delegate = self //设置图片 还要设置每个imageView的位置关系 let image1 = UIImage(named: "1") var imageView1 = UIImageView(image: image1) imageView1.frame = CGRectMake(0, 0, viewWidth, viewHeight) let image2 = UIImage(named: "2") var imageView2 = UIImageView(image: image2) imageView2.frame = CGRectMake(viewWidth, 0, viewWidth, viewHeight) let image3 = UIImage(named: "3") var imageView3 = UIImageView(image: image3) imageView3.frame = CGRectMake(viewWidth * 2,viewHeight, viewWidth, viewHeight) //添加三个视图 scrollView.addSubview(imageView3) scrollView.addSubview(imageView2) scrollView.addSubview(imageView1) self.view.addSubview(scrollView) //初始化分屏控制器 var pageControlHeight:CGFloat = 38.0 var pageControlWidth:CGFloat = 120.0 //创建大小 var pageControlFrame = CGRectMake((viewWidth - pageControlWidth) / 2, (viewHeight - pageControlHeight), pageControlWidth, pageControlHeight) pageControl = UIPageControl(frame: pageControlFrame) //背景颜色 pageControl.backgroundColor = UIColor.blackColor() //透明度 pageControl.alpha = 0.5 pageControl.numberOfPages = 3 pageControl.currentPage = 0 pageControl.addTarget(self, action: "changePage:", forControlEvents: .ValueChanged) self.view.addSubview(pageControl) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. }//实现代理 func scrollViewDidScroll(scrollView: UIScrollView) { var offset = scrollView.contentOffset //目前的页数 pageControl.currentPage = Int(offset.x) / Int(viewWidth) } func changePage(sender:AnyObject) { //设置一个动画 UIView.animateWithDuration(0.3, animations: { var whichPage = self.pageControl.currentPage self.scrollView.contentOffset = CGPointMake(CGFloat(whichPage) * self.viewWidth, 0) }) }}
0 0
- pageControl与ScrollView的联合使用
- scrollView和pageControl的搭配使用
- 图片浏览器+scrollView使用+pageControl
- iPhone开发笔记 (5) scrollView和pageControl的搭配使用
- iPhone开发笔记 scrollView和pageControl的搭配使用
- 28-scrollView以及pageControl,NSTimer的基本使用
- iPhone开发笔记 (5) scrollView和pageControl的搭配使用
- 31-使用scrollView以及pageControl,NSTimer实现图片轮播
- ScrollView and pageControl
- 图片轮播器[ScrollView,PageControl]
- scrollview和pageControl
- 滑动ScrollView的时候如何更新 PageControl 的页数
- scrollview+imageView对JScrollView+PageControl+AutoScroll的理解
- 联合的定义与使用
- scrollview+pagecontrol实现滑动界面
- 相册翻页效果ScrollView+pageControl
- Delphi 中 RadioGroup / pagecontrol 的使用
- UIScrollView和自定义PageControl的结合使用
- Spark学习笔记4-Scala模式匹配
- 对PyStringObject的认识(Intern机制) http://blog.csdn.net/wangyuquanliuli/article/details/8522302
- @font-face制作Web Icon
- 产生均匀随机排列数组
- URAL 1733 Forgotten Technology
- pageControl与ScrollView的联合使用
- 【Linux C/C++】 第02讲 HelloWorld程序编译流程详解
- 【莫比乌斯反演】[SPOJ-VLATTICE]Visible Lattice Points
- 不包含SDK头文件, 补全API定义
- JavaScript > 执行环境、作用域链、闭包
- spring mvc javaConfig版本搭建常见问题
- awk 奇偶行用制定分隔符合并| 按照指定列计数
- Android的生命周期和启动模式以及使用场景
- Kinect开发(二) 基于C# WPF的Kinect开发环境配置