iOS CoreAnimation 核心动画
文章平均质量分 59
iOS鸽子
iOS 没有那么多时间去思考,我怎么如此平凡
展开
-
iOS CoreAnimation 核心动画系列博客索引
学了这些文章能做什么,了解核心动画各个类能做什么,产品有些简单的视图平移、旋转、折叠、抖动的需求,都能搞了我们写博客的目的是学习研究之后做记录,捎带让别人指教,就是这么简单博客文章都是对同一个领域的技术,做的研究,文章与文章之间有很多相似的地方才正常一 iOS之 CALayer的基本介绍二 iOS之 CALayer与UIView的分别及新建图层三 iOS之 CALayer的隐式动画四 iOS之 图层的定位点和锚点五 iOS之 Core Animation(核心动画)六 iOS之 CABasi原创 2020-12-18 17:56:12 · 201 阅读 · 1 评论 -
一 iOS之 CALayer的基本介绍
我们知道,在iOS中,按钮、文本框、文本标签、文本输入框、图标,这些控件都继承自UIView类,这些控件之所以能显示出来,都是依托于它们内部的一个图层,也就是UIView的图层,这个图层就是CALyer的的对象UIView里的图层属性 @property(nonatomic,readonly,strong) CALayer *layer;通过操作CALyer对象,原创 2017-09-28 16:10:04 · 427 阅读 · 0 评论 -
二 iOS之 CALayer与UIView的分别及新建图层
新建图层先看看怎么创建图层,以及创建的图层的效果示例图片一 红色layer 示例图片二 添加图片后 代码 ViewController.m#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDi原创 2017-09-29 10:40:14 · 346 阅读 · 0 评论 -
三 iOS之 CALayer的隐式动画
隐式动画什么是图层的隐式动画? 当我们修改CALayer的一些属性,我们可以发现它会有类似动画效果一样的变化,这是图层独有的特性。这样的特性UIView是没有的,当修改UIView的图层属性,会是很生硬的变化,达不到动画的效果。示例演示示例图 核心代码 ViewController.m#import "ViewController.h"//转换角度#define angle2radi原创 2017-10-01 21:12:27 · 357 阅读 · 0 评论 -
四 iOS之图层的定位点和锚点
position和archorPointCALayer有两个重要的属性:position和archorPoint@property CGPoint position; 用来设置CALayer在父层中的位置以父层的左上角为原点(0,0)@property CGPoint archorPoint; 称为“锚点”决定着CALayer身上的哪个点会在position属性所指的位置以自己的左上原创 2017-10-09 17:34:24 · 951 阅读 · 0 评论 -
五 iOS之 Core Animation(核心动画)
核心动画继承结构开发步骤1.首先得有CALayer2.初始化一个CAAnimation对象,并设置一些动画相关属性3.通过调用CALayer的addAnimation:forKey:方法,增加CAAnimation对象到CALayer中,这样就能开始执行动画了4.通过调用CALayer的removeAnimationForKey:方法可以停止CALayer中的动画CAAnimation 简介是所有原创 2017-10-17 15:27:29 · 323 阅读 · 0 评论 -
六 iOS之 CABasicAnimation
说说可以创建对象的类 CABasicAnimation,基本动画,是CAPropertyAnimation的子类属性说明fromValue:keyPath相应属性的初始值toValue:keyPath相应属性的结束值动画过程说明随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地变为toValuekeyPath内容是CALayer的可动原创 2017-10-26 11:17:22 · 307 阅读 · 0 评论 -
七 iOS之 CAKeyFrameAnimation
CAKeyFrameAnimation,关键帧动画也是CAPropertyAnimation的子类,与CABasicAnimation的区别是: CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值属性说明:values:上述的NSArray对象。里面的元素称为“关键原创 2017-10-30 14:48:02 · 406 阅读 · 0 评论 -
八 iOS之 CATransition (转场动画)
CATransition是CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。动画转场类型 类型字符串 效果说明 关键字 方向 fade 交叉淡化过渡 YES push 新视图把旧视图推出去 YES moveIn 新视图移到旧视图上面 YES reveal 将旧视图移开,显示下面的新视图原创 2017-11-01 11:50:11 · 557 阅读 · 0 评论 -
九 iOS 之CAAnimationGroup(动画组)
CAAnimationGroup动画组,是CAAnimation的子类,可以保存一组动画对象,将CAAnimationGroup对象加入层后,组中所有动画对象可以同时并发运行属性说明:animations:用来保存一组动画对象的NSArray默认情况下,一组动画对象是同时运行的,也可以通过设置动画对象的beginTime属性来更改动画的开始时间示例演示点击屏幕同时平移、缩放、旋转 核心代码 V原创 2017-11-07 18:42:33 · 2895 阅读 · 0 评论 -
十 iOS 之UIVIew动画 和 核心动画的区别
UIVIew动画 和 核心动画的区别先看一个动画效果这是一个很简单的动画,我让这个红色的view从(153,139)的位置平移到(200,400)的位置用核心动画ViewController.m#import "ViewController.h"@interface ViewController ()<CAAnimationDelegate>@property (weak, nonatom原创 2017-11-08 12:44:19 · 1245 阅读 · 0 评论 -
十一 iOS 之 转盘
CADisplayLink之前我在我的博客图形绘制系列第六篇中介绍过定时器CADisplayLink的使用,它是属于CoreAnimation中的一个类,这个定时器可以使屏幕每秒大约刷新60次这次主要使用CADisplayLink,结合其它动画类做一个转盘的小功能,有兴趣研究的朋友可以下载demo,我写好了详细注释效果图 核心代码 WheelView.m#import "WheelView原创 2017-11-09 11:32:23 · 441 阅读 · 0 评论 -
十二 iOS之 折叠图片
这次开始,做一些好玩的效果看一下折叠图片的效果 制作思路1.如何制作图片折叠效果?把上面的狗子图片分成两部分显示,上面一部分,下面一部分,折叠上面部分的内容。2.如何把一张图片分成两部分显示。搞两个控件,一个显示上半部分,一个显示下半部分,需要用到Layer(图层)的一个属性contentsRect,这个属性是可以控制图片显示的尺寸,可以让图片只显示上部分或者下部分,注意:取值范围是0~1.C原创 2017-11-10 17:54:28 · 911 阅读 · 0 评论 -
十三 iOS之 音量振动条
效果图怎么实现一种方案是,创建5个layer,按顺序播放y轴动画 第二种方案是,利用复制图层来实现利用CAReplicatorLayer 实现1、什么是CAReplicatorLayer?一种可以复制自己子层的layer,并且复制出来的layer和原生子层有同样的属性,位置,形变,动画。2、CAReplicatorLayer属性instanceCount: 子层总数(包括原生子层)instan原创 2017-11-13 10:20:48 · 873 阅读 · 0 评论 -
十四 iOS之 活动指示器
没错,它就是你在app加载数据时不愿意看到的那个玩意效果图 代码有注释,思路很清晰ViewController.m#import "ViewController.h"@interface ViewController ()/**要添加图层的view**/@property (weak, nonatomic) IBOutlet UIView *orangeView;@end@implemen原创 2017-11-15 08:47:52 · 611 阅读 · 0 评论 -
十五 iOS 之 粒子效果
费话不多说,直接看图 粒子效果图 实现思路1、先创建一个画板,自定义一个view就好,用来绘制路径2、创建路径,粒子图层,还有复制层#pragma mark - 懒加载路径-(UIBezierPath *)path{ if (_path == nil) { _path = [UIBezierPath bezierPath]; } return _pat原创 2017-11-16 10:13:43 · 716 阅读 · 0 评论 -
十六 iOS之 倒影效果
先看效果实现思路:1.用复制图层实现,搞个UIImageView展示图片,然后复制UIImageView.2.注意:复制图层只能复制子层,但是UIImageView只有一个主层,并没有子层,因此不能直接复制UIImageView.3.正确做法:应该把UIImageView添加到一个UIView上,然后复制UIView的层,就能复制UIImageView.注意:默认A控件是B控件的子控件,那么A控件的原创 2017-11-22 09:59:55 · 546 阅读 · 0 评论 -
十七 iOS之 QQ提示标粘性效果
示例图 各子控件层级结构分析图 实现思路:1.自定义大圆控件(UIButton)可以显示背景图片,和文字2.让大圆控件随着手指移动而移动注意不能根据形变修改大圆的位置,只能通过center,因为全程都需要用到中心点计算。3.在拖动的时候,添加一个小圆控件在原来大圆控件的位置注意这个小圆控件并不会随着手指移动而移动,因此应该添加到父控件上一开始设置中心点和尺寸和大圆控件一样。随着大圆拖动原创 2017-11-23 10:33:13 · 445 阅读 · 0 评论