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动画的更多相关文章

  1. iOS开发——图形编程Swift篇&CAShapeLayer实现圆形图片加载动画

    CAShapeLayer实现圆形图片加载动画 几个星期之前,Michael Villar在Motion试验中创建一个非常有趣的加载动画. 下面的GIF图片展示这个加载动画,它将一个圆形进度指示器和圆形 ...

  2. iOS开发——网络编程Swift篇&(三)同步Get方式

    同步Get方式 // MARK: - 同步Get方式 func synchronousGet() { //创建NSURL对象 var url:NSURL! = NSURL(string: " ...

  3. iOS开发——网络编程Swift篇&Alamofire详解

    Alamofire详解 预览图 Swift Alamofire 简介 Alamofire是 Swift 语言的 HTTP 网络开发工具包,相当于Swift实现AFNetworking版本. 当然,AF ...

  4. iOS开发——网络编程Swift篇&(八)SwiftyJSON详解

    SwiftyJSON详解 最近看了一些网络请求的例子,发现Swift在解析JSON数据时特别别扭,总是要写一大堆的downcast(as?)和可选(Optional),看?号都看花了.随后发现了这个库 ...

  5. iOS开发——网络编程Swift篇&(七)NSURLSession详解

    NSURLSession详解 // MARK: - /* 使用NSURLSessionDataTask加载数据 */ func sessionLoadData() { //创建NSURL对象 var ...

  6. iOS开发——网络编程Swift篇&(六)异步Post方式

    异步Post方式 // MARK: - 异步Post方式 func asynchronousPost() { //创建NSURL对象 var url:NSURL! = NSURL(string: &q ...

  7. iOS开发——网络编程Swift篇&(五)同步Post方式

    同步Post方式 // MARK: - 同步Post方式 func synchronousPost() { //创建NSURL对象 var url:NSURL! = NSURL(string: &qu ...

  8. iOS开发——网络编程Swift篇&(四)异步Get方式

    异步Get方式 // MARK: - 异步Get方式 func asynchronousGet() { //创建NSURL对象 var url:NSURL! = NSURL(string: " ...

  9. iOS开发——网络编程Swift篇&(二)同/异&步请求

    同/异&步请求 同步: // MARK: - 同步请求 func httpSynchronousRequest() { //创建NSURL对象 var url:NSURL! = NSURL(s ...

  10. iOS开发——网络编程Swift篇&(一)网络监测

    网络监测 enum ReachabilityType { case WWAN, WiFi, NotConnected } public class Reachability { /** :see: O ...

随机推荐

  1. linux中hosts文件的修改

    转载自http://hi.baidu.com/dillisbest/item/5e0b612d011b4cd40e37f9a6 1. 关于/etc/host,主机名和IP配置文件 Hosts - Th ...

  2. 使用Java进行MD5加密

    使用Java自带的MessageDigest类可以轻松实现MD5加密,只不过加密后得到的是byte数组,我们需要将其转换为16进制的字符. 代码如下: package com.stepsoft.tes ...

  3. xdebug初步

    ;加载xdebug模块. 根据PHP版本来选择是zend_extension还是zend_extension_ts  ts代表线程安全  被坑过1次zend_extension="\web\ ...

  4. NServiceBus-架构的原则

    自主性和松散耦合在设计时和运行时都是没有的事,任何技术都可以给你. 面向服务的架构(SOA)和事件驱动的体系结构提供了依据识别使用nservicebus. 战略领域驱动设计有助于弥合业务/IT鸿沟和驱 ...

  5. JavaScript之Object

    两种简单的JavaScript中定义对象的方式: 在JavaScript中,可以动态添加对象的属性,也可以动态删除对象的属性. var object=new object(); //alert(obj ...

  6. js运动 分享到

    <!doctype html> <html> <head> <meta charset = "utf-8"> <title&g ...

  7. 在RHEL5.4下设置开机自动启动ORACLE 11G

    以root身份登录,创建启动服务脚本 #cd /etc/rc.d/init.d #touch oracle11g #chmod a+x oracle11g 编辑启动脚本脚本文件(oracle11g), ...

  8. Cocos手游录制插件:cocos-plugin

    Cocos手游录制插件:cocos-plugin Testinlab2014-10-29 13:42:27153 次阅读 Cocos手游录制插件,用于添加Testin手游自动化测试支持,支持cocos ...

  9. Linux-Ubuntu 启用root账户

    Ubuntu Linux有一个与众不同的特点,那就是初次使用时,你无法作为root来登录系统,为什么会这样?这就要从系统的安装说起.对于其他Linux系统来 说,一般在安装过程就设定root密码,这样 ...

  10. Codeforces 161 B. Discounts (贪心)

    题目链接:http://codeforces.com/contest/161/problem/B 题意: 有n个商品和k辆购物车,给出每个商品的价钱c和类别t(1表示凳子,2表示铅笔),如果一辆购物车 ...