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 ...
随机推荐
- 面试体验:Facebook 篇(转)
http://www.cnblogs.com/cathsfz/archive/2012/11/05/facebook-interview-experience.html 2012-11-05 08:2 ...
- BITED-Windows8应用开发学习札记之一:Win8应用开发入门
基于WinRT的Metro应用是我对Windows8的第一印象,简洁方块配以简单色调真的有沁人心脾的美感. 非常幸运,BITED在这个暑假的这个小学期里有幸学习到一门课程:软件工程基础实践,老师邀请了 ...
- I-frame、B-frame、P-frame及DTS、PTS的关系(转)
基本概念: I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象. ...
- xargs 简单功能
之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: find /sbin -perm +700 |ls -l 这个命 ...
- poj 3094 Quicksum
#include <stdio.h> #include <string.h> ]; int main() { ; int i,len; while(gets(word)) { ...
- c++一些问题总结
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...
- Uber新功能:隐藏司机乘客们的手机号码
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- hdu 1155 Bungee Jumping
http://acm.hdu.edu.cn/showproblem.php?pid=1155 Bungee Jumping Time Limit: 2000/1000 MS (Java/Others) ...
- G450 CPU 升级
T系列是正常功耗的CPU,功耗35W,发热量大些, P系列是低功耗的U,功耗25W,发热量小些. P8700的性能比T6600高15%左右,不过平常应用感觉不是很明显. p8800cpu P8600 ...
- PowerDesigner反向生成Mysql数据原型
PowerDesigner反向生成Mysql数据原型 注意事项: (1)JVM 要32位的. (2)需配置JAVA_HOME环境变量指向所需JVM. (3)需配置CLASSPATH环境变量执行 MyS ...