iOS核心动画运用思路

本文主要探讨iOS应用中核心动画与UIView动画。指出UIView动画作用于view层,是真动画,frame会实质改变;核心动画作用于layer层,是假动画,frame不变。还提及核心动画能实现位移、旋转等效果,并将分享编写核心动画的主导思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS应用中用到核心动画的场景还是蛮常见的,上次我聊过UIView动画的运用注意事项。这一次该聊聊核心动画了。哈哈

首先谈两者的区别,这两者最大的区别就是在于UIview动画是作用于view层的,而核心动画是作用于layer层,view层上的动画是真动画,因为frame发生实质性改变(位置是真的改变)。而核心动画是假动画,他的frame没发生实质性改变,改变的是layer层面上的动画效果。核心动画运用场景很多,因为它能实现位移效果、旋转效果、放大缩小效果等。。

那么如果在写的时候,能把每一步都写好呢?

那么现在我给大家聊聊写核心的动画一个主导思路吧。。

//1.首先,我们要调用系统里面包含核心动画那块的库-就是“transform.translation”这个库

#import <QuartzCore/QuartzCore.h>

//2.指定layer对应要实现的属性键值作为动画注册依据

//例如:

CABasicAnimation*animation =

[CABasicAnimationanimationWithKeyPath:@"position"];

animation.delegate = self;//如果有需要实现动画代理方法,可以写

//3.设置一些必要或需要的属性

//例如:

animation.duration =2.5;// 动画持续时间

animation.repeatCount =1;// 不重复

animation.beginTime =CACurrentMediaTime() +2;// 2秒后执行

animation.autoreverses =YES;// 结束后执行逆动画

animation.fromValue = [NSValuevalueWithCGPoint:CGPointMake(0,0)];// 起始点

animation.toValue = [NSValuevalueWithCGPoint:CGPointMake(320,480)];// 终了点

//4.将动画添加到layer层,并且自定义一个键值名来保存设置

//例如:

[View.layer addAnimation:animation forKey:@"move-layer"];

//5.可以在代理方法中写一些操作

- (void)animationDidStart:(CAAnimation *)theAnimation{

NSLog(@"动画启动");

}

- (void)animationDidStop:(CAAnimation*)theAnimation finished:(BOOL)flag{

NSLog(@"动画停止了");

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值