如何實現(xiàn)iOS動畫音量振動條呢?在iOS系統(tǒng)中實現(xiàn)振動條的步驟大家都清楚嗎?下文是武林技術(shù)頻道小編為大家整理的相關(guān)介紹,希望對你了解這方面內(nèi)容有所幫助!
音量振動條
效果圖:

如何實現(xiàn)?
創(chuàng)建3個layer,按順序播放y軸縮放動畫
利用CAReplicatorLayer實現(xiàn)
1、什么是CAReplicatorLayer?
一種可以復制自己子層的layer,并且復制出來的layer和原生子層有同樣的屬性,位置,形變,動畫。
2、CAReplicatorLayer屬性
instanceCount: 子層總數(shù)(包括原生子層)
instanceDelay: 復制子層動畫延遲時長
instanceTransform: 復制子層形變(不包括原生子層),每個復制子層都是相對上一個。
instanceColor: 子層顏色,會和原生子層背景色沖突,因此二者選其一設置。
instanceRedOffset、instanceGreenOffset、instanceBlueOffset、instanceAlphaOffset: 顏色通道偏移量,每個復制子層都是相對上一個的偏移量。
如果利用CAReplicatorLayer實現(xiàn)
1.首先創(chuàng)建復制layer,音樂振動條layer添加到復制layer上,然后復制子層就好了。
CAReplicatorLayer *layer = [CAReplicatorLayer layer];
layer.frame = CGRectMake(50, 50, 200, 200);
layer.backgroundColor = [UIColor lightGrayColor].CGColor;
[self.view.layer addSublayer:layer];
2.先創(chuàng)建一個音量振動條,并且設置好動畫,動畫是繞著底部縮放,設置錨點
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.復制子層
// 設置4個子層,3個復制層
layer.instanceCount = 4;
// 設置復制子層的相對位置,每個x軸相差40
layer.instanceTransform = CATransform3DMakeTranslation(40, 0, 0);
// 設置復制子層的延遲動畫時長
layer.instanceDelay = 0.3;
通過以上如何實現(xiàn)iOS動畫音量振動條演示大家都清楚了嗎?想要了解更多的IOS技術(shù)介紹,請繼續(xù)關(guān)注武林技術(shù)頻道網(wǎng)吧!
新聞熱點
疑難解答
圖片精選