CoreAnimation —— CAReplicatorLayer(拷贝图层)
生活随笔
收集整理的這篇文章主要介紹了
CoreAnimation —— CAReplicatorLayer(拷贝图层)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
CAReplicatorLayer是一個(gè)layer容器,會(huì)對(duì)其中的subLayer進(jìn)行一些差異處理(它的子layer都可以拷貝)
屬性:
//拷貝的次數(shù) @property NSInteger instanceCount; //是否開啟景深效果 @property BOOL preservesDepth; //當(dāng)CAReplicatorLayer的子Layer層進(jìn)行動(dòng)畫的時(shí)候,拷貝的副本執(zhí)行動(dòng)畫的延時(shí) @property CFTimeInterval instanceDelay; //拷貝副本的3D變換 @property CATransform3D instanceTransform; //拷貝副本的顏色變換 @property(nullable) CGColorRef instanceColor; //每個(gè)拷貝副本的顏色偏移參數(shù) @property float instanceRedOffset; @property float instanceGreenOffset; @property float instanceBlueOffset; //每個(gè)拷貝副本的透明度偏移參數(shù) @property float instanceAlphaOffset;例子:
// 背景 layerCAReplicatorLayer * replicatorLayer = [CAReplicatorLayer layer];replicatorLayer.frame = CGRectMake(80, 100, 200, 200);replicatorLayer.cornerRadius = 10;replicatorLayer.backgroundColor = [UIColor colorWithWhite:0 alpha:0.75].CGColor;[self.view.layer addSublayer:replicatorLayer];// 單個(gè)layerCALayer *layer = [CALayer layer];layer.frame = CGRectMake(80, 20, 20, 20);layer.backgroundColor = [UIColor redColor].CGColor;[replicatorLayer addSublayer:layer];CABasicAnimation *animation = [CABasicAnimation animation];animation.keyPath = @"transform.scale";animation.fromValue = @(1);animation.toValue = @(0.1);animation.duration = 1.5;animation.repeatCount = MAXFLOAT;[layer addAnimation:animation forKey:nil];// 設(shè)置拷貝份數(shù)int number = 15;CGFloat angle = 2 * M_PI / 15;replicatorLayer.instanceCount = number;// 拷貝副本的3D變換replicatorLayer.instanceTransform = CATransform3DMakeRotation(angle, 0, 0, 1);// 設(shè)置延時(shí)replicatorLayer.instanceDelay = 1.5 / 15;效果:
?
?
?
?
轉(zhuǎn)載于:https://my.oschina.net/yejiexiaobai/blog/799929
總結(jié)
以上是生活随笔為你收集整理的CoreAnimation —— CAReplicatorLayer(拷贝图层)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: npm下载和使用(超详细)
- 下一篇: SQL数据库置疑修复说明文档