CoreAnimation —— CAReplicatorLayer(拷贝图层)

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

CAReplicatorLayer是一个layer容器,会对其中的subLayer进行一些差异处理(它的子layer都可以拷贝)

属性:

//拷贝的次数
@property NSInteger instanceCount;
//是否开启景深效果
@property BOOL preservesDepth;
//当CAReplicatorLayer的子Layer层进行动画的时候,拷贝的副本执行动画的延时
@property CFTimeInterval instanceDelay;
//拷贝副本的3D变换
@property CATransform3D instanceTransform;
//拷贝副本的颜色变换
@property(nullable) CGColorRef instanceColor;
//每个拷贝副本的颜色偏移参数
@property float instanceRedOffset;
@property float instanceGreenOffset;
@property float instanceBlueOffset;
//每个拷贝副本的透明度偏移参数
@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];// 单个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];// 设置拷贝份数int  number = 15;CGFloat angle = 2 * M_PI / 15;replicatorLayer.instanceCount = number;// 拷贝副本的3D变换replicatorLayer.instanceTransform = CATransform3DMakeRotation(angle, 0, 0, 1);// 设置延时replicatorLayer.instanceDelay = 1.5 / 15;

效果:

 

 

 

 

转载于:https://my.oschina.net/yejiexiaobai/blog/799929

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260041.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 接收短信代码,短信接收功能实现的代码

其中包含了widget必备的要素以及对应文件分别为:appwidgetprovider--------------------------SmsWidget.javawidget的config--------------------------SmsWidgetConfig.javawidget引发的app-------------------------SmsAider.javaappwidgetproviderinfo---------…

Entity Framework With Oracle

虽然EF6都快要出来了,但是对于Oracle数据库,仍然只能用DB first和Model First来编程,不能用Code First真是一个很大的遗憾啊。 好了,废话少说,我们来看看EF中是如何用DB first和Model First来对Oracle编程的。 首先我们…

(三)Maven仓库介绍与本地仓库配置

1.Maven本地仓库/远程仓库的基本介绍 示意图: 本地仓库是指存在于我们本机的仓库,在我们加入依赖时候,首先会跑到我们的本地仓库去找,如果找不到则会跑到远程仓库中去找。对于依赖的包大家可以从这个地址进行搜索:http…

android分辨率比例成像,像素不是唯一 决定成像效果你必知的真相

像素并不是唯一如今不少人在选购一部手机时,非常重视手机摄像头的像素大小,因为一部高像素的手机可以为不少喜爱拍照的人省去买单反的费用,而且携带起来也非常方便。不过,手机并不能与专业的单反相机相比,成像效果并不…

Android底部导航栏实现(一)之BottomNavigationBar

BottomNavigationBar这个控件的使用之前已经写过,这里不再赘述,详情请参考BottomNavigationBar的使用。 下面直接上代码: 初始化及相关设置: mBottomNavigationBar (BottomNavigationBar) view.findViewById(R.id.bottom_navigat…

USACO 2.4.1 The Tamworth Two

牛和农夫按照固定的走法在10x10的地图中走,每分钟走一步,求经过几分钟相遇。永远不能相遇输出0. 纯模拟的题。 判断永远不能相遇的方法是如果遇到了一个先前的状态,那么肯定存在循环,必定不能相遇。 程序中把状态表示为牛和农夫的…

013,spring boot下JedisCluster客户端的配置,连接Redis集群

2019独角兽企业重金招聘Python工程师标准>>> 1&#xff0c;pom依赖添加&#xff1a; <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <type>jar</typ…

android控件使用大全,Android常见控件使用详解

本文实例为大家分享了六种Android常见控件的使用方法&#xff0c;供大家参考&#xff0c;具体内容如下1、TextView 主要用于界面上显示一段文本信息2、Button 用于和用户交互的一个按钮控件//为Button点击事件注册一个监听器public class Click extends Activity{private Butto…

Afterthought 原来是这样的啊。。。。

$(ProjectDir)Libs\Afterthought\Afterthought.Amender.exe "$(TargetPath)" "$(TargetDir)EntityFramework.Patterns.dll" 我实际上分析代码好久&#xff0c;也没整明白它是怎么运行的&#xff0c;看一下官方文档明白了&#xff0c;原来。。。 Next, add …

POJ 1228 —— “稳定”凸包

POJ 1228 Grandpas Estate 这是个好题目&#xff0c;同时也是个不和谐的题目&#xff08;不和谐原因是题目出的存在漏洞&#xff0c;数据弱&#xff0c;而且有些条件没给清楚&#xff0c;为了一个SB错误无限WA之后&#xff0c;终于AC&#xff09; 题意就废了我好长时间&#xf…

在Application_Error事件中获取当前的Action和Control

ASP.NET MVC程序处理异常时&#xff0c;方法有很多&#xff0c;网上也有列举了6种&#xff0c;下面是使用全局处理在Global.asax文件的Application_Error事件中实现。既然是ASP.NET MVC,我需要捕捉到Controller和Action名称。怎样实现可以参考下面代码&#xff1a; 程序运行结果…

1.关于浏览器

一、认识主流浏览器 Chrome谷歌浏览器Safari苹果浏览器Firefox火狐浏览器Opera欧朋浏览器 二、浏览器内核是什么&#xff1f; 三、五大浏览器&#xff0c;四大内核 四、前端做网页开发用什么浏览器&#xff1f; Chrome谷歌浏览器。

实时数据交换平台 - BottledWater-pg with confluent

标签 PostgreSQL , Bottled Water , Kafka , Confluent , IoT 背景 想必大家都在图书馆借过书&#xff0c;小时候有好看的书也会在小伙伴之间传阅。 借书和数据泵有点类似&#xff0c;一份数据通过数据泵实时的分享给订阅者。 例如在IoT的场景中&#xff0c;有流式分析的需求&a…

asp.net缓存(二)

ASP.NET页面局部缓存 有时缓存整个页面是不现实的&#xff0c;因为页的某些部分可能在每次请求时都需要变化。在这些情况下&#xff0c;只能缓存页的一部分。顾名思义&#xff0c;页面部分缓存是将页面部分内容保存在内存中以便响应用户请求&#xff0c;而页面其他部分内容则为…

(七)Maven使用的最佳实践

这里说一下在使用Maven过程中不是必须的&#xff0c;但十分有用的几个实践&#xff0c;关键时刻或许能解决您的问题。 1.设置MAVEN_OPTS环境变量 通常需要设置MAVEN_OPTS的值为-Xms128m -Xmx512m&#xff0c;因为Java默认的最大可用内存往往不能够满足Maven运行的需要&#xff…

android beam传输速率,无线网络的速率为何不能达到最大值

1、无线速率可以达到最大值&#xff0c;只是发送速率和传输流量是两个概念&#xff0c;通俗点讲&#xff0c;无线的发送速率是把信号以指定速率发出去(信号好的时候以高速率发&#xff0c;信号差的时候以低速率发)。传输流量是指单位时间内传输的数据量&#xff0c;大部分用户关…

【SMTP 补录 Apache服务】

【补录&#xff0c;续】1.【配置空壳邮件接受】【mta】【前置&#xff1a;在/etc/named.rfc1912.zones 添加一个可以接受邮件的域hxl.org&#xff08;与你数据库中写的向对应&#xff09;,这个域的所在ip就是你机子的&#xff0c;因为要从你的机子转发】 【配置该机的vim/etc/…

开启chrome默认支持ipv6

在快捷方式后面的属性后面输入 --enable-ipv6 以下为转载&#xff1a; [转载]chrome开启或关闭IPV6方法 (2012-05-27 17:54:06) 转载▼ 标签&#xff1a; 转载 分类&#xff1a; 技术 原文地址&#xff1a;chrome开启或关闭IPV6方法作者&#xff1a;余鲲涛 chrome和firefox都是…

ipoo3可以用鸿蒙,iqooneo3支持无线充电吗_iqooneo3可以无线充电吗

iqoo neo3在不高的价格上还保证了自己的品质&#xff0c;有很高的性能&#xff0c;很不错的屏幕。那么这款手机可以支持无线充电吗&#xff1f;小编为大家介绍关于iqoo neo3的充电方面。1.iqoo neo3可以支持无线充电吗iQOO Neo3 配备了 44W 超级闪充&#xff0c;属于小刀&#…

红帽Linux故障定位技术详解与实例(1)

红帽Linux故障定位技术详解与实例(1) 2011-09-28 14:26 圈儿 BEAREYES.COM 我要评论(0) 字号&#xff1a;T | T在线故障定位就是在故障发生时, 故障所处的操作系统环境仍然可以访问&#xff0c;故障处理人员可通过console, ssh等方式登录到操作系统上&#xff0c;在shell上执行…