[Swift通天遁地]八、媒体与动画-(7)实现多个动画的顺序播放效果

本文将演示使用第三方类库,实现多个动画的顺序播放效果。

首先确保已经安装了所需的第三方类库。双击查看安装配置文件【Podfile】

1 platform :ios, '12.0'
2 use_frameworks!
3 
4 target 'DemoApp' do
5     source 'https://github.com/CocoaPods/Specs.git'
6     pod 'Spring', :git => 'https://github.com/MengTo/Spring.git'
7 end

根据配置文件中的相关设置,安装第三方类库。

安装完成之后,双击打开项目文件【DemoApp.xcodeproj】

往项目中导入用于实现动画的图片素材。

在左侧的项目导航区,打开视图控制器的代码文件【ViewController.swift】

 1 import UIKit
 2 //引入已经安装的第三方类库
 3 import Spring
 4 
 5 class ViewController: UIViewController {
 6     
 7     override func viewDidLoad() {
 8         super.viewDidLoad()
 9         // Do any additional setup after loading the view, typically from a nib.
10         
11         //从项目中读取一张图片素材
12         let image = UIImage(named:"star")
13         //初始化一个动画图像视图对象
14         let imageView = SpringImageView(image: image)
15         
16         //设置图像视图的显示区域。
17         imageView.frame = CGRect(x: 0, y: 0, width: 80, height: 80)
18         //将图像视图移动到水平方向上的中心位置
19         imageView.center = CGPoint(x: 160, y: 200)
20         //将图像视图添加到根视图。
21         self.view.addSubview(imageView)
22         
23         //设置动画图像视图对象的动画类型
24         imageView.animation = "squeezeDown"
25         //设置动画图像视图对象,可以进行动画的自动播放。
26         imageView.autostart = true
27         //设置动画效果的作用强度,默认值为1.
28         imageView.force = 0.5
29         //设置动画效果的缓冲曲线,
30         //第三方类库支持五种缓冲曲线
31         imageView.curve = "spring"
32         //设置动画效果的持续时间为1秒
33         imageView.duration = 1.0
34         
35         //添加第二段动画
36         imageView.animateToNext {
37             //设置动画效果的作用强度
38             imageView.force = 5.0
39             //设置动画效果的持续时间为2秒
40             imageView.duration = 2.0
41             //设置动画在2秒钟之后开始播放
42             imageView.delay = 2.0
43             //设置动画的重复的次数为2次
44             imageView.repeatCount = 2
45             //设置动画的缓存曲线
46             imageView.curve = "easeIn"
47             //设置动画的类型为摇晃动画
48             imageView.animation = "shake"
49             imageView.animateTo()
50         }
51     }
52     
53     override func didReceiveMemoryWarning() {
54         super.didReceiveMemoryWarning()
55         // Dispose of any resources that can be recreated.
56     }
57 }

猜你喜欢

转载自www.cnblogs.com/strengthen/p/10354533.html