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 不只能对位置使用,它适用于所有可被添加动画效果的属性

相关推荐
张某布响丸辣5 小时前
附件下载的安全边界:路径白名单、NAS 哨兵文件与 Redis Lua 一次性令牌
java·redis·redis lua·nas哨兵
YatHinLay6 小时前
Spring Boot + Calcite 实现跨库查询
java
酷炫码神6 小时前
MosMos 创意效果与能力边界展示
java
Wang's Blog6 小时前
Java 接入Redis: 使用Jedis操作Redis
java·服务器·redis
事圆则缓6 小时前
Java 8 Lambda、Stream、Optional 与 Android 边界:从回调语法到运行时兼容
android·java
shehuiyuelaiyuehao6 小时前
算法50,分治归并,数组中的逆序对
java·算法
烽学长6 小时前
(附源码)基于Springboot+vue的图书阅读分享系统的设计与实现
java·spring boot·后端
Ivanqhz6 小时前
数据搬运是性能关键
java·服务器·网络·人工智能·深度学习
青山木7 小时前
RocketMQ 入门到原理(三):消息存储原理
java·后端·中间件·架构·rocketmq
MayBaymax7 小时前
Spring AI Alibaba Graph 实战:客服工单智能处理
java·ai·ai编程