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.pswp.cn/news/260041.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260041.shtml
英文地址,請注明出處:http://en.pswp.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…