iOS 中spring动画的使用

我们先来看以下两个动画的效果

上面的位移动画,一个是普通的动画,一个是spring动画,可以明显的看出来,spring动画在动画的前期更快一些,给人的感觉干脆,利落

以下是代码

复制代码
- (void)normalAnimation
{
    [UIView animateWithDuration:1 animations:^{
        self.animationView.frame = CGRectMake(10, 400, 50, 50);
    } completion:^(BOOL finished) {
        self.animationView.frame = CGRectMake(10, 100, 50, 50);
    }];
}

- (void)springAnimation
{
    [UIView animateWithDuration:1 delay:0 usingSpringWithDamping:1 initialSpringVelocity:0 options:UIViewAnimationOptionCurveLinear animations:^{
        self.animationView.frame = CGRectMake(10, 400, 50, 50);
    } completion:^(BOOL finished) {
        self.animationView.frame = CGRectMake(10, 100, 50, 50);

    }];
}

spring 动画的接口就是

[UIView animateWithDuration:1

delay:0

usingSpringWithDamping:1

initialSpringVelocity:0

options:UIViewAnimationOptionCurveLinear

animations:^{

}];

app 中很多都是用的这个动画效果,让人看起来很舒服

Spring Animation 前期速度增加得更快,在动画时间一定的前提下,给人感觉更加快速、干净。

我们可以通过这个图看下

此外,Spring Animation 不只能对位置使用,它适用于所有可被添加动画效果的属性

相关推荐
JacksonMx21 小时前
@Transactional 最佳实践
java·spring boot·spring·性能优化
Sincerelyplz21 小时前
【AI会议纪要实践】mapReduce、RAG 与结构化输出
java·后端·agent
人月神话Lee21 小时前
【图像处理】Core Image 与 GPU 渲染管线——让滤镜飞起来
ios·ai编程·图像识别
过期动态21 小时前
【LeetCode 热题 100】接雨水
java·数据结构·算法·leetcode·职场和发展
zhangjw341 天前
第15篇:Java多线程零基础入门,进程线程、线程创建方式、线程生命周期、线程安全彻底吃透
java·开发语言·面试
蝈理塘(/_\)大怨种1 天前
类和对象 (上)
java·开发语言
我材不敲代码1 天前
Python 函数核心:位置参数与关键字参数详解
java·前端·python
qq_333120971 天前
C++高并发内存池的整体设计和实现思路_C 语言
java·c语言·c++
mh_f1 天前
33.批量通过GET链接下载图片到指定文件夹下
java
金銀銅鐵1 天前
[Java] 如何理解 class 文件中方法的 access flags?
java·后端