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,一经查实,立即删除!

相关文章

c语言用数组写密码程序,想程序高手求助--用C语言来编辑一个输入密码的程序...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼/*--------实现密码的隐式输入-----------------*/inputpw(char *password,int len) /*len为密码长度*/{int i0; /*密码数组索引值,同时也表示记录已显示*的数目*/char ch;fflush(stdin); /*清洗流,以防妨碍密码正确输入…

ps流 转发_RTP协议全解析(H264码流和PS流)(转)

[LeetCode] Arranging Coins 排列硬币You have a total of n coins that you want to form in a staircase shape, where every k-th row must ha ...使用Jenkins可持续集成maven项目首先下载最新的Jenkins的war包,放在tomcat的webapps的目录下,然后运行,例…

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

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

使用MeanJS Yeoman Generator

1、首先全局安装该生成器 sudo npm install -g generator-meanjs 2、为项目创建一个路径 mkdir xmen && cd xmen 3、创建app yo meanjs 根据提示,输入应用名,描述,关键词,是否创建crud例子。。 4、运行app sudo NODE_ENVd…

Entity Framework With Oracle

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

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

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

大数据时代下的迁移学习_继深度学习后,下一个热点技术是迁移学习

最早提出大数据时代到来的是知名咨询公司麦肯锡,麦肯锡称:“数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。”其实…

手机广告投放(phone advertising)唯一标识

手机标示,为了识别用户,方面advertising。 使用设备id,相当于暴露用户隐私。慢慢已不允许使用。、 (长时间跟踪用户无异于暴露用户隐私,虽然大量数据适合兴趣建模,广告个性化推荐。但复杂多样会降低总体的准…

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

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

vim——打开多个文件、同时显示多个文件、在文件之间切换

打开多个文件: 1.vim还没有启动的时候: 在终端里输入 vim file1 file2 ... filen便可以打开所有想要打开的文件 2.vim已经启动 输入 :open file 可以再打开一个文件,并且此时vim里会显示出file文件的内容。 同时显示多个文件: :s…

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

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

jq 组装数组_Jquery 数组操作

1、数组的创建var arrayObj new Array(); //创建一个数组var arrayObj new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度var arrayObj new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值要说明的是&…

android 官方说明文档,Android官方文档翻译-Accessibility

标签元素向用户提供解释每个可互动元素的意义和目的有用且形象的标签是非常重要的。这些标签允许屏幕阅读者(比如 TalkBack )正确向用户解释每个控制器的功能。你可以使用一下两个方法提供元素的标签:当展示在 Activity 的整个生命周期中都不会改变样式的静态元素时…

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…

Ubuntu 12.10使用apt安装Oracle/Sun JDK

Ubuntu 12.10使用apt安装Oracle/Sun JDK apt-get install python-software-properties sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java6-installerposted on 2014-09-05 13:30 fastdream 阅读(...) 评论(...) 编辑 收藏 …

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

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

查询

增加文本1. create database test删除文本2. drop database test3. create table info( code int primary key, name varchar(20) not null)auto_increment 自增长列foreign key(列名) references 主表名(列名) 外键关系4. drop table infoCRUD:增加语法1.insert into 表…

android 监听界面变化,Android之页面有变化用onWindowFocusChanged来监听权限是否开启...

1 问题我们需要在Activity里面监听网络变化、热点是否开启和关闭、GPS服务是否开启、位置权限是否开启等一些列行为。2 思路方法一&#xff1a;如果是需要启动activity进行权限申请&#xff0c;我们可以用如下组合模式var intent Intent(Settings.ACTION_LOCATION_SOURCE_SETT…