Swift之UIScrollView和UIPageControl
2015-08-27 14:24
441 查看
let width:CGFloat = 375 let height:CGFloat = 668 class ViewController: UIViewController,UIScrollViewDelegate { var pageControl:UIPageControl? var tmpSV:UIScrollView? override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. self.setScrollView() self.setPageControl() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func setScrollView() { var scrollView = UIScrollView() scrollView.frame = CGRectMake(0, 20, self.view.frame.size.width, 150) //设置内容大小 scrollView.contentSize = CGSizeMake(CGFloat(width * 6), 150) //设置起始偏移量 scrollView.contentOffset = CGPointMake(0, 0) //隐藏水平指示条 scrollView.showsHorizontalScrollIndicator = false //隐藏竖直指示条 scrollView.showsVerticalScrollIndicator = false //开启分页效果 scrollView.pagingEnabled = true //设置代理 scrollView.delegate = self self.view.addSubview(scrollView) tmpSV = scrollView let colors:[UIColor] = [UIColor.redColor(),UIColor.orangeColor(),UIColor.yellowColor(),UIColor.greenColor(),UIColor.blueColor(),UIColor.purpleColor()] for i in 0..<6 { var tmpView:UIView = UIView(frame: CGRectMake(width * CGFloat(i), 0, width, 150)) tmpView.backgroundColor = colors[i] scrollView.addSubview(tmpView) } } func setPageControl() { pageControl = UIPageControl(frame: CGRectMake(self.view.center.x - 60, 120, 120, 20)) //设置显示的页数 pageControl?.numberOfPages = 6 //设置显示的起始页的索引 pageControl?.currentPage = 0 //设置单页时隐藏 pageControl?.hidesForSinglePage = true //设置显示颜色 pageControl?.currentPageIndicatorTintColor = UIColor.greenColor() //设置页背景指示颜色 pageControl?.pageIndicatorTintColor = UIColor.lightGrayColor() //添加事件 pageControl?.addTarget(self, action: Selector("pageControlChanged:"), forControlEvents: UIControlEvents.ValueChanged) self.view.addSubview(pageControl!) } //pageControl的触发事件 func pageControlChanged(pageControl:UIPageControl) { var page = pageControl.currentPage println("当前显示的是第\(page+1)页") tmpSV!.contentOffset = CGPointMake(width * CGFloat(page), 0) // var frame = tmpSV!.frame // frame.origin.x = width * CGFloat(page) // tmpSV!.scrollRectToVisible(frame, animated: true) } //scrollView Delegate func scrollViewDidEndDecelerating(scrollView: UIScrollView) { var offset = scrollView.contentOffset.x / width pageControl!.currentPage = Int(offset) }
相关文章推荐
- 关于Swift中的值类型(Value Types)与引用类型(Reference Type)
- Swift开发教程--设置圆角Button和圆角边框TextView
- Swift 单例模式实现及类方法
- Swift 绘图板功能完善以及终极优化
- swift基础教程——基本运算符
- Swift 对象方法
- [转载] 对象存储(2):OpenStack Swift——概念、架构与规模部署
- swift详解之十二-----------------泛型
- Swift 2.0 到底「新」在哪?
- Swift 2.0 到底「新」在哪?
- 从零开始安装openstack swift
- swift 异常处理
- xcode导入swift库出错
- 在Swift怎样创建CocoaPod?
- Swift_UIButton
- 用函数式编程解决逻辑难题 - Swift 版本
- Swift 新特性之柯里化函数
- Swift_UILabel
- Swift 注释格式使用技巧小结
- 《从零开始学Swift》学习笔记(Day 6)——哎呀常量和变量都该什么时候用啊?