利用iOS動畫來模擬音量振動條的實(shí)現(xiàn)
iOS動畫來模擬音量振動條,即利用CAReplicatorLayer實(shí)現(xiàn),以下將詳細(xì)的介紹CAReplicatorLayer和實(shí)現(xiàn)方法。
音量振動條
效果圖:

如何實(shí)現(xiàn)?
創(chuàng)建3個layer,按順序播放y軸縮放動畫
利用CAReplicatorLayer實(shí)現(xiàn)
1、什么是CAReplicatorLayer?
一種可以復(fù)制自己子層的layer,并且復(fù)制出來的layer和原生子層有同樣的屬性,位置,形變,動畫。
2、CAReplicatorLayer屬性
- instanceCount: 子層總數(shù)(包括原生子層)
- instanceDelay: 復(fù)制子層動畫延遲時長
- instanceTransform: 復(fù)制子層形變(不包括原生子層),每個復(fù)制子層都是相對上一個。
- instanceColor: 子層顏色,會和原生子層背景色沖突,因此二者選其一設(shè)置。
- instanceRedOffset、instanceGreenOffset、instanceBlueOffset、instanceAlphaOffset: 顏色通道偏移量,每個復(fù)制子層都是相對上一個的偏移量。
- 如果利用CAReplicatorLayer實(shí)現(xiàn)
1.首先創(chuàng)建復(fù)制layer,音樂振動條layer添加到復(fù)制layer上,然后復(fù)制子層就好了。
CAReplicatorLayer *layer = [CAReplicatorLayer layer]; layer.frame = CGRectMake(50, 50, 200, 200); layer.backgroundColor = [UIColor lightGrayColor].CGColor; [self.view.layer addSublayer:layer];
2.先創(chuàng)建一個音量振動條,并且設(shè)置好動畫,動畫是繞著底部縮放,設(shè)置錨點(diǎn)
CALayer *bar = [CALayer layer]; bar.backgroundColor = [UIColor redColor].CGColor; bar.bounds = CGRectMake(0, 0, 30, 100); bar.position = CGPointMake(15, 200); bar.anchorPoint = CGPointMake(0.5, 1); [layer addSublayer:bar]; CABasicAnimation *anim = [CABasicAnimation animation]; anim.keyPath = @"transform.scale.y"; anim.toValue = @(0.1); anim.autoreverses = YES; anim.repeatCount = MAXFLOAT; [bar addAnimation:anim forKey:nil];
3.復(fù)制子層
// 設(shè)置4個子層,3個復(fù)制層 layer.instanceCount = 4; // 設(shè)置復(fù)制子層的相對位置,每個x軸相差40 layer.instanceTransform = CATransform3DMakeTranslation(40, 0, 0); // 設(shè)置復(fù)制子層的延遲動畫時長 layer.instanceDelay = 0.3;
通過以上對CAReplicatorLayer的介紹以及利用CAReplicatorLayer來實(shí)現(xiàn)模擬音量振動條的實(shí)例的演示,希望對大家有所幫助。
相關(guān)文章
iOS開發(fā)中用imageIO漸進(jìn)加載圖片及獲取exif的方法
這篇文章主要介紹了iOS開發(fā)中中用imageIO漸進(jìn)加載圖片及獲取exif的方法,代碼演示為傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-09-09
iOS App中調(diào)用iPhone各種感應(yīng)器的方法總結(jié)
Xcode環(huán)境中包含CoreMotion框架,能夠幫助我們調(diào)用硬件設(shè)備的加速度傳感器和陀螺儀等感應(yīng)器,下面比較詳細(xì)地整理了iOS App中調(diào)用iPhone各種感應(yīng)器的方法總結(jié),需要的朋友可以參考下:2016-07-07
iOS開發(fā)實(shí)現(xiàn)下載器的基本功能(1)
這篇文章主要為大家詳細(xì)介紹了iOS開發(fā)實(shí)現(xiàn)下載器基本功能的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-07-07
IOS實(shí)現(xiàn)驗(yàn)證碼倒計時功能(二)
這篇文章主要介紹了IOS實(shí)現(xiàn)驗(yàn)證碼倒計時功能,點(diǎn)擊獲取驗(yàn)證碼,進(jìn)入時間倒計時,感興趣的小伙伴們可以參考一下2016-04-04
iOS實(shí)現(xiàn)屏幕亮度和閃光燈控制的實(shí)例代碼
本篇文章主要介紹了iOS實(shí)現(xiàn)屏幕亮度和閃光燈控制的實(shí)例代碼,具有一定的參考價值,有興趣的可以了解一下2017-06-06
iOS應(yīng)用中UISearchDisplayController搜索效果的用法
這篇文章主要介紹了iOS應(yīng)用中UISearchDisplayController搜索效果的用法,包括點(diǎn)擊搜索出現(xiàn)黑條問題的解決方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-02-02
iOS安全防護(hù)系列之字符串及系統(tǒng)函數(shù)隱藏詳解
這篇文章主要給大家介紹了關(guān)于iOS安全防護(hù)系列之字符串及系統(tǒng)函數(shù)隱藏的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07

