iOS开发——动画编程Swift篇&(三)CATransition动画
CATransition动画
// MARK: - CATransition动画 // /* 动画样式 */ // let kCATransitionFade: NSString! //翻页 // let kCATransitionMoveIn: NSString! //弹出 // let kCATransitionPush: NSString! //推出 // let kCATransitionReveal: NSString! //移出 // // /* 动画执行的方向 */ // let kCATransitionFromRight: NSString! //右侧 // let kCATransitionFromLeft: NSString! //做成 // let kCATransitionFromTop: NSString! //上部 // let kCATransitionFromBottom: NSString! //底部 /* 非公开动画效果 */ // "cube" //立方体 // "suckEffect" //吸收 // "oglFlip" //翻转 // "rippleEffect" //波纹 // "pageCurl" //卷页 // "cameralrisHollowOpen" //镜头开 // "cameralrisHollowClose" //镜头关 //CATransition动画-揭开(Push动画) @IBAction func caAnimationChage1() { var transition = CATransition() transition.duration = 1.0 transition.type = kCATransitionPush //推送类型 transition.subtype = kCATransitionFromLeft//从左侧 self.view.exchangeSubviewAtIndex(, withSubviewAtIndex: ) self.view.layer.addAnimation(transition, forKey: nil) } //CATransition动画-推出 @IBAction func caAnimationChage2() { var transition = CATransition() transition.duration = 1.0 transition.type = kCATransitionMoveIn transition.subtype = kCATransitionFromTop self.view.exchangeSubviewAtIndex(, withSubviewAtIndex: ) self.view.layer.addAnimation(transition, forKey: nil) } //CATransition动画-平移 @IBAction func caTranatate() { //每次都是从前前位置平移 self.testImageView.transform=CGAffineTransformTranslate(self.testImageView.transform, -1.9, -1.9)//正负 代表方向 //每次都从最开始的位置计算平移 // self.testImageView.transform=CGAffineTransformMakeTranslation(1.2, 1.2) } //CATransition动画-旋转 @IBAction func caRotate() { //连续旋转 UIView.beginAnimations(nil, context: nil) UIView.setAnimationDuration(2.0)//设置动画时间 self.testImageView.transform=CGAffineTransformRotate(self.testImageView.transform, CGFloat(-M_PI/)) UIView.commitAnimations() //独立旋转,以初始位置旋转 // self.testImageView.transform=CGAffineTransformMakeRotation(CGFloat(M_PI/6)) } //CATransition动画-缩放 @IBAction func caScale() { //连续缩放 UIView.beginAnimations(nil, context: nil) UIView.setAnimationDuration(2.0)//设置动画时间 self.testImageView.transform=CGAffineTransformScale(self.testImageView.transform, 1.5, 1.5);//1.0以下缩小,1.0以上放大 UIView.commitAnimations() //独立缩放,以初始位置缩放 // self.testImageView.transform=CGAffineTransformMakeScale(1.2, 1.2) } //CATransition动画-反转到某个状态 @IBAction func caInvert() { self.testImageView.transform=CGAffineTransformIdentity;//返回到初始状态 //连续反转 UIView.beginAnimations(nil, context: nil) UIView.setAnimationDuration(2.0)//设置动画时间 self.testImageView.transform=CGAffineTransformConcat(self.testImageView.transform,CGAffineTransformInvert(self.testImageView.transform)); UIView.commitAnimations() //独立反转,以初始位置反转 // self.testImageView.transform=CGAffineTransformInvert(self.testImageView.transform) }
iOS开发——动画编程Swift篇&(三)CATransition动画的更多相关文章
- iOS开发——图形编程Swift篇&CAShapeLayer实现圆形图片加载动画
CAShapeLayer实现圆形图片加载动画 几个星期之前,Michael Villar在Motion试验中创建一个非常有趣的加载动画. 下面的GIF图片展示这个加载动画,它将一个圆形进度指示器和圆形 ...
- iOS开发——网络编程Swift篇&(三)同步Get方式
同步Get方式 // MARK: - 同步Get方式 func synchronousGet() { //创建NSURL对象 var url:NSURL! = NSURL(string: " ...
- iOS开发——网络编程Swift篇&Alamofire详解
Alamofire详解 预览图 Swift Alamofire 简介 Alamofire是 Swift 语言的 HTTP 网络开发工具包,相当于Swift实现AFNetworking版本. 当然,AF ...
- iOS开发——网络编程Swift篇&(八)SwiftyJSON详解
SwiftyJSON详解 最近看了一些网络请求的例子,发现Swift在解析JSON数据时特别别扭,总是要写一大堆的downcast(as?)和可选(Optional),看?号都看花了.随后发现了这个库 ...
- iOS开发——网络编程Swift篇&(七)NSURLSession详解
NSURLSession详解 // MARK: - /* 使用NSURLSessionDataTask加载数据 */ func sessionLoadData() { //创建NSURL对象 var ...
- iOS开发——网络编程Swift篇&(六)异步Post方式
异步Post方式 // MARK: - 异步Post方式 func asynchronousPost() { //创建NSURL对象 var url:NSURL! = NSURL(string: &q ...
- iOS开发——网络编程Swift篇&(五)同步Post方式
同步Post方式 // MARK: - 同步Post方式 func synchronousPost() { //创建NSURL对象 var url:NSURL! = NSURL(string: &qu ...
- iOS开发——网络编程Swift篇&(四)异步Get方式
异步Get方式 // MARK: - 异步Get方式 func asynchronousGet() { //创建NSURL对象 var url:NSURL! = NSURL(string: " ...
- iOS开发——网络编程Swift篇&(二)同/异&步请求
同/异&步请求 同步: // MARK: - 同步请求 func httpSynchronousRequest() { //创建NSURL对象 var url:NSURL! = NSURL(s ...
- iOS开发——网络编程Swift篇&(一)网络监测
网络监测 enum ReachabilityType { case WWAN, WiFi, NotConnected } public class Reachability { /** :see: O ...
随机推荐
- 关系数据库&&NoSQL数据库
在过去,我们只需要学习和使用一种数据库技术,就能做几乎所有的数据库应用开发.因为成熟稳定的关系数据库产品并不是很多,而供你选择的免费版本就更加少了,所以互联网领域基本上都选择了免费的MySQL数据库. ...
- shell 内网主机存活探测器
最近在学习shell 编程,闲来无事,搞了一个小shell. 可以用来 对一个网段的存活主机进行 探测. #!/bin/bash # #// #blog:www.cnblogs.com/outline ...
- U盘安装RedHat 5.3
转载自http://www.cnblogs.com/totozlj/archive/2012/06/03/2532757.html 1.下载rhel-5.3-server-i386-dvd.iso文件 ...
- 《学习OpenCV》练习题第五章第二题abc
代码: #include <stdio.h> #include <opencv/highgui.h> #include <opencv/cv.h> #include ...
- html5 拖拽
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- Mellanox vma
1,Mellanox offical vma Installation guide personal reading summarize VMA是一个消息加速器messaging accelerato ...
- 转】Mahout学习路线图
原博文出自于: http://blog.fens.me/hadoop-mahout-roadmap/ 感谢! Mahout学习路线图 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目 ...
- 由于SSH配置文件的不匹配,导致的Permission denied (publickey)及其解决方法。
读者如要转载,请标明出处和作者名,谢谢.地址01:http://space.itpub.net/25851087地址02:http://www.cnblogs.com/zjrodger/作者名:zjr ...
- c/c++,输入一个字符 2014-11-20 07:00 30人阅读 评论(0) 收藏
getch().getche()和getchar()函数 (1) getch()和getche()函数 这两个函数都是从键盘上读入一个字符.其调用格式为: getch(); ...
- rdlc 分页操作
工具箱中拖一个列表过来,设置 列表-->行组-->组属性常规-->组表达式=Int((RowNumber(Nothing)-1)/10)分页符-->勾选在组的结尾