美文网首页
Swift封装持续旋转动画

Swift封装持续旋转动画

作者: 玉思盈蝶 | 来源:发表于2020-07-11 07:27 被阅读0次

网上搜索旋转动画的时候看到一篇OC的博客的实现,因为我是Swift项目,用Swift改写下为后面用做准备吧。

代码如下:

import Foundation
import UIKit

//设置逆时针和顺时针旋转的枚举
enum Direction {
    case DirectionReight
    case DirectionLeft
}

class Animation: NSObject {
    func setAnimation(control: UIView, direction: Direction) {
        // y是根据y轴旋转,x是根据x轴旋转,z是根据z轴旋转

        // 如果是y, 则transform.rotation.y,如果是x,则transform.rotation.x, 如果是z,则transform.rotation.z
        let rotationAnimation: CABasicAnimation = CABasicAnimation(keyPath: "transform.rotation.z")
        // 这里  M_PI * 2.0  为顺时针旋转,如果想要逆时针旋转可以写成  M_PI * -2.0
        if(direction == .DirectionReight) {
            rotationAnimation.toValue = NSNumber(value: Double.pi * 2.0)
        } else {
            rotationAnimation.toValue = NSNumber(value: Double.pi * -2.0)
        }
        rotationAnimation.duration = 2.0
        rotationAnimation.isRemovedOnCompletion = false
        rotationAnimation.repeatCount = MAXFLOAT
        rotationAnimation.fillMode = .forwards
        control.layer.add(rotationAnimation, forKey: "rotationAnimation")
    }
}

使用如下:

Animation().setAnimation(control: roundView, direction: .DirectionReight)

移除动画:

roundView.layer.removeAllAnimations()

参考链接:

https://www.jianshu.com/p/ba7fee11f7a1

相关文章

  • Swift封装持续旋转动画

    网上搜索旋转动画的时候看到一篇OC的博客的实现,因为我是Swift项目,用Swift改写下为后面用做准备吧。 代码...

  • 动画代码

    图片旋转动画 Swift3.0为视图添加旋转动画_CABasicAnimation

  • UIView动画和Calayer动画

    记住UIView动画是对Calayer动画的部分封装 Swift 4 动画 - 1. UIView Animati...

  • flutter 常用动画的封装

    flutter中常用简单动画(平移、旋转、缩放、隐藏显示)的封装。 用法: 直接播放动画: 通过行为控制动画 源码...

  • Swift - 旋转动画

    前言:记录一下,关键帧旋转动画。以后忘记了,方便查找。 关于旋转,首先让我们先来了解一下基本的控件旋转方向。如下图...

  • 实现一个秒针效果

    分别设置动画名称、动画持续时间、动画播放函数、动画循环、旋转基准点 .item{ background: blac...

  • View 动画 Animation 运行原理解析

    一、简介 Animation 动画的扩展性很高,系统只是简单的为我们封装了几个基本的动画:平移、旋转、透明度、缩放...

  • Scratch之Android的Animation动画的四种动画

    旋转动画展示 Android游戏开发Animation动画中的旋转动画 RotateAnimation旋转动画 1...

  • Swift加载动画多球旋转

    1、用于网络请求、WebView的加载动画,效果如下图: 源码中有大量注释。Demo地址 1.1 实现思路 绘制三...

  • 记录ProgressBar实现Loading

    旋转 旋转资源 帧动画效果 帧动画效果资源

网友评论

      本文标题:Swift封装持续旋转动画

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