iOS开发——UI篇Swift篇&UIScrollView
UIScrollView
//返回按钮事件 @IBAction func backButtonClick() { self.navigationController?.popViewControllerAnimated(true) } //创建滚动视图 var mainScrollView:UIScrollView! var view1:UIView! var view2:UIView! var view3:UIView! //创建UIPageControl实例 var pageCtrl:UIPageControl! override func viewDidLoad() { super.viewDidLoad() titleLabel.text = titleString // Do any additional setup after loading the view. //创建滚动视图 mainScrollView = UIScrollView(frame: CGRectMake(, , , )) //设置背景色 mainScrollView.backgroundColor = UIColor.grayColor() //添加到视图上 self.view.addSubview(mainScrollView) //创建3个视图,添加到ScrollView上 view1 = UIView(frame: CGRectMake(, , , )) view1.backgroundColor = UIColor.redColor() mainScrollView.addSubview(view1) view2 = UIView(frame: CGRectMake(, , , )) view2.backgroundColor = UIColor.greenColor() mainScrollView.addSubview(view2) view3 = UIView(frame: CGRectMake(, , , )) view3.backgroundColor = UIColor.blueColor() mainScrollView.addSubview(view3) //设置scrollView的容器大小 mainScrollView.contentSize = CGSizeMake(*, ) //设置滚动条风格 mainScrollView.indicatorStyle = UIScrollViewIndicatorStyle.White //设置水平方向滚动条是否可见 mainScrollView.showsHorizontalScrollIndicator = false //设置垂直方向滚动条是否可见 mainScrollView.showsVerticalScrollIndicator = false //设置成翻页滚动 mainScrollView.pagingEnabled = true mainScrollView.delegate = self mainScrollView.maximumZoomScale = 2.0;//允许放大2倍 mainScrollView.minimumZoomScale = 0.5;//允许放大到0.5倍 //页面控制器 //创建UIPageControl实例 pageCtrl = UIPageControl(frame: CGRectMake(, , , )) //添加到视图 self.view.addSubview(pageCtrl) //设置总页数 pageCtrl.numberOfPages = //当前显示到第几页面 pageCtrl.currentPage = //添加事件 pageCtrl.addTarget(self, action: "pageTurn:", forControlEvents: UIControlEvents.ValueChanged) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } /* // MARK: - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { // Get the new view controller using segue.destinationViewController. // Pass the selected object to the new view controller. } */ //MARK: - UIScrollViewDelegate func scrollViewDidScroll(scrollView: UIScrollView) { //视图滚动中一直触发 } func scrollViewWillBeginDragging(scrollView: UIScrollView) { //刚开始拖动视图时触发一次 } func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) { //将要结束拖动触发一次 } func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) { //拖动结束,触发一次 } func scrollViewWillBeginDecelerating(scrollView: UIScrollView) { //拖动接触后,开始减速 } func scrollViewDidEndDecelerating(scrollView: UIScrollView) { //减速完毕,恢复到静止状态 //获取scrollView视图滚动的x坐标 var offX:CGFloat = scrollView.contentOffset.x //计算当前是第几屏 var index:Int = (Int)(offX / ) //设置分页指示器currentPage值 pageCtrl.currentPage = index; } //缩放功能-返回缩放的视图 func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? { //获取当前滚动视图移动的X坐标 var offsetX = scrollView.contentOffset.x println(offsetX) //如果没有滚动,返回view1 { return view1 } //滚动300,返回view2 { return view2 } //滚动600,返回view3 { return view3 } return nil } func scrollViewDidZoom(scrollView: UIScrollView) { //缩放过程中一直调用 } func scrollViewWillBeginZooming(scrollView: UIScrollView, withView view: UIView!) { //开始缩放,调用一次 } func scrollViewDidEndZooming(scrollView: UIScrollView, withView view: UIView!, atScale scale: CGFloat) { //缩放结束,调用一次 } func scrollViewDidEndScrollingAnimation(scrollView: UIScrollView) { println("scrollViewDidEndScrollingAnimation") } func scrollViewShouldScrollToTop(scrollView: UIScrollView) -> Bool { return false } func scrollViewDidScrollToTop(scrollView: UIScrollView) { println("scrollViewDidScrollToTop") } //MARK: - //分页控制器value改变事件 func pageTurn(sender:AnyObject?) { //获取分页控制器 // var newPageCtl = sender as UIPageControl //2015年5月2后修改 var newPageCtl = sender as! UIPageControl //获取分页控制器当前页 var index = newPageCtl.currentPage //设置ScrollView的x移动距离 mainScrollView.contentOffset = CGPointMake((CGFloat)( * index), ) }
iOS开发——UI篇Swift篇&UIScrollView的更多相关文章
- iOS开发——技术精华Swift篇&Swift 2.0和Objective-C2.0混编之第三方框架的使用
swift 语言是苹果公司在2014年的WWDC大会上发布的全新的编程语言.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.Swift语言采用安全编程模式,且引 ...
- iOS开发——新特性Swift篇&Swift 2.0 异常处理
Swift 2.0 异常处理 WWDC 2015 宣布了新的 Swift 2.0. 这次重大更新给 Swift 提供了新的异常处理方法.这篇文章会主要围绕这个方面进行讨论. 如何建造异常类型? 在 i ...
- iOS开发——UI精选OC篇&UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍
UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道 ...
- iOS开发——网络编程Swift篇&Alamofire详解
Alamofire详解 预览图 Swift Alamofire 简介 Alamofire是 Swift 语言的 HTTP 网络开发工具包,相当于Swift实现AFNetworking版本. 当然,AF ...
- ios开发——实用技术总结Swift篇&swift常用开发技术总结
swift常用开发技术总结 懒加载:属性,数组(字典),控件... 数组(懒加载): lazy var shops:Array<Dictionary<String, String>& ...
- iOS开发——网络编程Swift篇&(八)SwiftyJSON详解
SwiftyJSON详解 最近看了一些网络请求的例子,发现Swift在解析JSON数据时特别别扭,总是要写一大堆的downcast(as?)和可选(Optional),看?号都看花了.随后发现了这个库 ...
- ios开发——实用技术篇Swift篇&地址薄、短信、邮件
//返回按钮事件 @IBAction func backButtonClick() { self.navigationController?.popViewControllerAnimated(tru ...
- iOS开发——图形编程Swift篇&CAShapeLayer实现圆形图片加载动画
CAShapeLayer实现圆形图片加载动画 几个星期之前,Michael Villar在Motion试验中创建一个非常有趣的加载动画. 下面的GIF图片展示这个加载动画,它将一个圆形进度指示器和圆形 ...
- iOS开发零基础--Swift篇 元组
元组的介绍 元组是Swift中特有的,OC中并没有相关类型 它是什么呢? 它是一种数据结构,在数学中应用广泛 类似于数组或者字典 可以用于定义一组数据 组成元组类型的数据可以称为“元素” 元组的定义 ...
- iOS开发零基础--Swift篇 循环
循环的介绍 在开发中经常会需要循环 常见的循环有:for/while/do while. 这里我们只介绍for/while,因为for/while最常见 for循环的写法 最常规写法 // 传统写法 ...
随机推荐
- vs2013下自动注释的运用
1.首先是VAssistX,可以在VS的工具下,拓展和更新里面找到,然后下载安装即可: 以下为大家介绍一下怎么添加函数头注释:随便打开一个C++的工程,找到一个方法,右击函数名,然后依次点击“Refa ...
- [转] js prototype详解
JavaScript能够实现的面向对象的特征有:·公有属性(public field)·公有方法(public Method)·私有属性(private field)·私有方法(private fie ...
- Azure中的分布式1——多实例
Azure中的WebRole和WorkerRole天然支持负载均衡,只需要简单配置一下即可,下面我以一个WebRole为例说明这一点. 创建一个项目类型为MVC4的WebRole 项目结构如下: 右键 ...
- pku3659 Cell Phone Network
http://poj.org/problem?id=3659 树状DP,树的最小点覆盖 #include <stdio.h> #include <vector> #define ...
- Cocos2d-JS v3.0 alpha 导入 cocostudio的ui配置
1.在新项目的根文件夹下打开project.json文件,修改: "modules" : ["cocos2d", "extensions", ...
- 网上关于sort结构体排序都不完整,我来写一个完整版的 2014-08-09 16:50 60人阅读 评论(0) 收藏
主要参考sort函数_百度文库, 但是那篇有错误 2.结构体排序,a升,b降,c降 平板视图 打印? 01 #include <iostream> 02 #include <algo ...
- pyqt中QDateTimeEdit/QDateEdit相关使用方法
QDateTimeEdit/QDateEdit clear (self)QDate date (self)QDateTime dateTime (self)setDate (self, QDate d ...
- 几种连接不同数据库的ADO.NET字符串
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;或者 Ser ...
- login placeholder
$(function(){ function isPlaceholder(){ var input = document.createElement('input'); return 'placeho ...
- django admin site (三)
1.自定义模板设置: ModelAdmin. add_form_template Path to a custom template, used by add_view(). ModelAdmin. ...