美文网首页
Swift - 通过设置视图的transform属性实现动画

Swift - 通过设置视图的transform属性实现动画

作者: 小驴拉磨 | 来源:发表于2020-07-22 15:34 被阅读0次

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

    1、移动

    指在同一平面内,将控件按照某个直线方向平移一定的距离。

    //每次都从当前位置平移
    self.imageView.transform = self.imageView.transform.translatedBy(x: -2.1, y: -2.1)
    //每次都从最开始的位置计算平移
    self.imageView.transform = CGAffineTransform(translationX: 2.3, y: 2.3)
    

    2、旋转

    //连续旋转
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(3.0) //设置动画时间
    self.imageView.transform = self.imageView.transform.rotated(by: CGFloat(-Double.pi / 2))
    UIView.commitAnimations()
    
    UIView.animate(withDuration: 3.0) {
      self.imageView.transform = self.imageView.transform.rotated(by: CGFloat(-Double.pi / 2))
    }
             
    //独立旋转,以初始位置旋转
    self.imageView.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi / 4))
    

    3、缩放

    //连续缩放
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(3.0) //设置动画时间
    self.imageView.transform = self.imageView.transform.scaledBy(x: 1.5 ,y: 1.5)
    UIView.commitAnimations()
    
    //独立缩放,以初始位置缩放
    self.imageView.transform = self.imageView.transform.scaledBy(x: 1.5 ,y: 1.5)
    

    4、反转

    //返回初始状态
    self.imageView.transform = .identity
     
    //连续反转
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(3.0) //设置动画时间
    self.imageView.transform = self.imageView.transform.concatenating(self.imageView.transform.inverted())
    UIView.commitAnimations()
     
    //独立反转,以初始位置反转
    self.imageView.transform = self.imageView.transform.inverted()
    

    原文出自:www.hangge.com

    相关文章

      网友评论

          本文标题:Swift - 通过设置视图的transform属性实现动画

          本文链接:https://www.haomeiwen.com/subject/zmkwkktx.html