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

相关推荐
这个昵称不容易9 小时前
考试报名系统的设计与实现(SpringBoot + MySQL + Vue 三角色平台)
java·springboot·毕设
Adellle10 小时前
设计模式指南 (Java 版) ㊁
java·开发语言·设计模式
特立独行的猫A10 小时前
cj-tauri:用仓颉写桌面与鸿蒙 PC 应用
java·后端·python
Lonely丶墨轩10 小时前
从一个 404 到负数 ID:第三方接口开发中的几次排错
java
聪明的笨猪猪11 小时前
实际工程问题:AI生成MyBatis批量操作的SQL超限与性能雪崩
java·经验分享·面试·ai编程
文丑颜不良啊11 小时前
LeetCode2501~2520题目解析
java·leetcode
瑞雪兆丰年兮11 小时前
JavaWeb-day07-MySQL(DQL&多表设计)
java·开发语言·数据库·sql·mysql·javaweb·web
唐老板11 小时前
Spring Boot 4 默认开虚拟线程,HikariCP 却成瓶颈
java
2601_9621066421 小时前
【Java Set综合实战】商品管理系统 + 图书收藏系统|Product、Book自定义类全套代码
java
RuoyiOffice1 天前
SpringBoot+Vue3 凭证生命周期设计:审核、过账、冲销与反过账怎样保持账目一致
java·spring boot·事务·springboot3·财务系统·会计凭证·ruoyi office