今天我们看下CAReplicatorLayer, 官方的解释是一个高效处理复制图层的中间层。他能复制图层的所有属性,包括动画。 一样我们先看下头文件 @interface CAReplicatorLayer : CALayer @property NSInteger instanceCount; //复制的个数 @property instanceGreenOffset; @property float instanceBlueOffset; @property float instanceAlphaOffset; @end 我们可以通过CAReplicatorLayer * rec = [CAReplicatorLayer layer]; rec.instanceCount = 3; rec.instanceDelay = 0.5 * rec2 = [CAReplicatorLayer layer]; rec2.instanceCount = 3; rec2.instanceDelay =
创建3个layer,按顺序播放y轴缩放动画 利用CAReplicatorLayer实现 1、什么是CAReplicatorLayer? 2、CAReplicatorLayer属性 instanceCount: 子层总数(包括原生子层) instanceDelay: 复制子层动画延迟时长 instanceTransform: 复制子层形变 如果利用CAReplicatorLayer实现 1.首先创建复制layer,音乐振动条layer添加到复制layer上,然后复制子层就好了。 CAReplicatorLayer *layer = [CAReplicatorLayer layer]; layer.frame = CGRectMake(50, 50, 200, 200)
我给自己挖的坑 所以呢,在今天的博客里你将会看到以下截个内容 CATransform3D CATransformLayer CAGradientLayer CAReplicatorLayer DWMirrorView CAReplicatorLayer官方的解释是一个高效处理复制图层的中间层。 * rec2 = [CAReplicatorLayer layer]; [rec2 addSublayer:rec]; rec2.instanceCount = 3; #pragma mark ---tool method--- -(void)handleMirrorDistant:(CGFloat)distant { CAReplicatorLayer * class]; } -(void)drawRect:(CGRect)rect { [super drawRect:rect]; CAReplicatorLayer * layer =
iOS中有一些特殊的layer,也可以做一些动画效果,本文就补充两个可以做动画效果的layer: CAEmitterLayer 和 CAReplicatorLayer。 CAReplicatorLayer 可以多次拷贝某个layer,然后重新布局,实现动画效果。 *replicatorLayer = [CAReplicatorLayer layer]; replicatorLayer.frame = CGRectMake(0, 0, width, width *replicatorLayerX = [CAReplicatorLayer layer]; replicatorLayerX.frame = CGRectMake(0, 0, width, *replicatorLayerY = [CAReplicatorLayer layer]; replicatorLayerY.frame = CGRectMake(0, 0, width,
今天主要通过实现一个音乐播放状态的展示条,还有一个点赞的动画效果,来看看 CAReplicatorLayer、CAEmitterLayer和CAGradientLayer这三个专用层。 CAReplicatorLayer CAReplicatorLayer的目的是为了高效生成许多相似的图层。它会绘制一个或多个图层的子图层,并在每个复制体上应用不同的变换。什么意思? 把这一个写好的加入到了CAReplicatorLayer复制层中,然后就根据设置的参数自动的生成了剩下的条状物。 1.2 第二步:使用CAReplicatorLayer进行复制 // 设置复制层里面包含子层的个数 replicatorLayer.instanceCount = 6 1.3 CAReplicatorLayer属性介绍 为了能够看到各个属性之间的含义,所以又来了第二个复制层。第二个复制层修改了复制的锚点、复制的个数、复制的偏移量。
三、CAReplicatorLayer CAReplocatorLayer是拷贝视图容器,我们可以通过它,将其中的子layer进行拷贝,并进行一些差异处理,其中常用属性方法如下: //拷贝的次数 @property NSInteger instanceCount; //是否开启景深效果 @property BOOL preservesDepth; //当CAReplicatorLayer的子Layer instanceBlueOffset; //每个拷贝副本的透明度偏移参数 @property float instanceAlphaOffset; 例如,通过拷贝一个色块,使其产生平移排列: CAReplicatorLayer *reLayer = [CAReplicatorLayer layer]; reLayer.position = CGPointMake(0, 0); CALayer * layer=
具体分为两个方面, 方面一,位置方面具体如图 方面二,比例变换方面如图 一些实例效果 彩色环状进度条 粒子动画 CATransform3D 是不是明显发现蓝色的3D层效果更强烈一些 CAReplicatorLayer.gif CAReplicatorLayer.gif 上图效果具体实现参考另一位作者文章 (未完待续......)
ee163fc050e4 https://developer.apple.com/documentation/quartzcore/cametallayer import QuartzCore.CAReplicatorLayer CAEmitterLayer 粒子动画 ---- 拿其中的这个我们写一个简单的粒子动画,在QuartzCore里面别的Layer应该是使用的比较多的,比如像 CAGradientLayer、CAReplicatorLayer
QuartzCore.CAEmitterLayer // 粒子特效 图层 import QuartzCore.CAGradientLayer // 渐变 图层 import QuartzCore.CAReplicatorLayer
4.CAReplicatorLayer CAReplicatorLayer是一个layer容器,会对其中的subLayer进行复制和属性偏移,通过它,可以创建出类似倒影的效果,也可以进行变换复制,如下:
点击后调用浏览器打开指定URL地址 NSAttachmentAttributeName 设置文本附件,取值为NSTextAttachment对象,常用于文字图片混排 */ 还有CAReplicatorLayer
——重复图层绘制 CAReplicatorLayer的目的是为了高效生成许多相似的图层。 1.12.4.1 重复图层(Repeating Layers) 清单6.8中,我们在屏幕的中间创建了一个小白色方块图层,然后用CAReplicatorLayer生成十个图层组成一个圆圈。 1.12.4.2 反射 使用CAReplicatorLayer并应用一个负比例变换于一个复制图层,你就可以创建指定视图(或整个视图层次)内容的镜像图片,这样就创建了一个实时的『反射』效果 { return [CAReplicatorLayer class]; } - (void) setUp { //configure replicator CAReplicatorLayer *layer = (CAReplicatorLayer *)self.layer; layer.instanceCount = 2; //move reflection instance
专用图层 6.1 CAShapeLayer 6.2 CATextLayer 6.3 CATransformLayer 6.4 CAGradientLayer 6.5 CAReplicatorLayer points gradientLayer.startPoint = CGPointMake(0, 0); gradientLayer.endPoint = CGPointMake(1, 1); 第5篇:CAReplicatorLayer CAReplicatorLayer的目的是为了高效生成许多相似的图层。
LayerPlayer - 包含CALayer,CAScrollLayer,CATextLayer,AVPlayerLayer,CAGradientLayer,CAReplicatorLayer,CATiledLayer