聊聊iOS中的动画

聊聊iOS中的动画,第1张

CAAnimation:核心动画的基础类,不能直接使用,负责动画运行时间、速度的控制,本身实现了CAMediaTiming协议。

CAPropertyAnimation:属性动画的基类(通过属性进行动画设置,注意是可动画属性),不能直接使用。

CAAnimationGroup:动画组,动画组是一种组合模式设计,可以通过动画组来进行所有动画行为的统一控制,组中所有动画效果可以并发执行。

CATransition:转场动画,主要通过滤镜进行动画效果设置。

CABasicAnimation:基础动画,通过属性修改进行动画参数控制,只有初始状态和结束状态。

CAKeyframeAnimation:关键帧动画,同样是通过属性进行动画参数控制,但是同基础动画不同的是它可以有多个状态控制。

基础动画、关键帧动画都属于属性动画,就是通过修改属性值产生动画效果,开发人员只需要设置初始值和结束值,中间的过程动画(又叫“补间动画”)由系统自动计算产生。和基础动画不同的是关键帧动画可以设置多个属性值,每两个属性中间的补间动画由系统自动完成,因此从这个角度而言基础动画又可以看成是有两个关键帧的关键帧动画。

注意点 如果fillMode=kCAFillModeForwards和removedOnComletion=NO,那么在动画执行完毕后,图层会保持显示动画执行后的状态。但在实质上,图层的属性值还是动画执行前的初始值,并没有真正被改变。

在实际项目中很多需求使用UIView动画或者基本动画就可以实现,比如下面比较常用的缩放和d性动画效果

如果想实现更炫酷一点的动画,如雷达,波纹,咻一咻效果,时钟,带动画的指示器等就需要用到UIBezierPath和CAShapeLayer,CAReplicatorLayer等知识。
下面简单的说一下CAShapeLayer和CAReplicatorLayer

//波纹,咻一咻,雷达效果

//利用UIBezierPath和CAShapeLayer实现不规则的图形,并带有动画效果,可以在折线图中使用
-(void)myTest{
UIView line=[[UIView alloc] initWithFrame:CGRectMake(0, 100, 400, 1)];
linebackgroundColor=[UIColor grayColor];
[selfview addSubview:line];

}

-(void)clickk:(UITapGestureRecognizer )tap{
CGPoint point=[tap locationInView:_testView1];
if ([_path containsPoint:point]) {
NSLog(@"点击不规则图形");
}

}

其实,闹钟APP(系统里自带的)就完全可以满足你提醒打卡的需求。至于统计打卡时间,你既然都定闹钟了,那还统计啥时候打卡干嘛? 然后是锁定手机功能,这个APP是没有权限的,只有系统设置里边打开“屏幕使用时间”这个功能(低版本系统可能没有此功能)。

单轨迹线条绘制设置线宽,动画进可以通过 KeyPath 设置为 strokeEnd 进行渲染,达到动态渲染的目的

简单绘制一个三角形,bezierPath 调用 closePath 时, 绘制的线路必须是闭合的 ,再调用 closePath 才能闭合,但是动画设置为 strokeEnd 却无效,需要重新设置动画组合 CAAnimationGroup 才能添加渲染动画

绘制如图图形

通过折线图绘制,可以满足部分柱状图的需求,同时添加延展动画

1、打开手机主屏上的“设置”应用。
2、在设置列表中找到“通用”一栏,点击进入。
3、在通用列表中找到“用量”一栏,点击进入。
4、在用量列表中,打开“电池百分比”开着,即可实现数字显示电量。
5、此时在手机屏幕的顶部状态栏中,即可看到电池左边已经出现了数字百分比显示。
IPhone OS是由苹果公司为IPhone开发的 *** 作系统。它主要是给IPhone和IPod Touch使用。就像其基于的Mac OS X *** 作系统一样,它也是以Darwin为基础的。IPhone OS的系统架构分为四个层次:核心 *** 作系统层(The Core OS Layer),核心服务层(The Core Services Layer),媒体层(The Media Layer),可轻触层(The Cocoa Touch Layer)。系统 *** 作占用大概512MB的存储空间。 IOS的扩展性特别强,用IPhone可以一键登录App Store(在线应用程序商店),轻松下载到你需要的应用程序,使用IPhone不需为病毒担忧,从软件到游戏,应有尽有,山寨机在界面上仿得再像,真正的本事——扩展性也是永远仿不来的。IOS强大的安全性与其他的手机智能 *** 作系统完全不能同日而语。

#define Start_X 100f // 第一个按钮的X坐标#define Start_Y 500f // 第一个按钮的Y坐标#define Width_Space 50f // 2个按钮之间的横间距#define Height_Space 200f // 竖间距#define Button_Height 1220f // 高#define Button_Width 750f。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12702356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存