zoukankan      html  css  js  c++  java
  • Swift

    设置视图对象的transform属性,可以实现各种动画效果。


    1,移动
    指在同一平面内,将控件按照某个直线方向平移一定的距离。
    1
    2
    3
    4
    5
    //每次都从当前位置平移
    self.imageView.transform = CGAffineTransformTranslate(self.imageView.transform, -2.1, -2.1)
     
    //每次都从最开始的位置计算平移
    self.imageView.transform = CGAffineTransformMakeTranslation(2.3, 2.3)


    2,旋转

    1
    2
    3
    4
    5
    6
    7
    8
    //连续旋转
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(3.0) //设置动画时间
    self.imageView.transform = CGAffineTransformRotate(self.imageView.transform, CGFloat(-M_PI/2))
    UIView.commitAnimations()
     
    //独立旋转,以初始位置旋转
    self.imageView.transform = CGAffineTransformMakeRotation(CGFloat(-M_PI/4))


    3,缩放

    1
    2
    3
    4
    5
    6
    7
    8
    //连续缩放
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(3.0) //设置动画时间
    self.imageView.transform = CGAffineTransformScale(self.imageView.transform, 1.5 ,1.5)
    UIView.commitAnimations()
     
    //独立缩放,以初始位置缩放
    self.imageView.transform = CGAffineTransformMakeScale(1.3, 1.3)


    4,反转

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //返回初始状态
    self.imageView.transform = CGAffineTransformIdentity
     
    //连续反转
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(3.0) //设置动画时间
    self.imageView.transform = CGAffineTransformConcat(self.imageView.transform,
        CGAffineTransformInvert(self.imageView.transform))
    UIView.commitAnimations()
     
    //独立反转,以初始位置反转
    self.imageView.transform = CGAffineTransformInvert(self.imageView.transform)
  • 相关阅读:
    hdu 1032 水题也wrong 两次(于是乎更有刷水题的必要了)
    淘宝刷钻员
    hdu 4006 求第K大的数 优先队列
    骗子满天飞
    hdu 2115 :I Love This Game(Presentation Error容易输出wrong)
    hdu 1048 (map的使用)
    hdu 1722 数论题
    hdu 1237 简单计算器
    Android编码规范
    xamarin开发实例(一) android PC 基于Tcp双向通信
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4843438.html
Copyright © 2011-2022 走看看