十三 iOS之 音量振動條

2021-08-10 17:32:02 字數 1768 閱讀 5987

效果圖

1、什麼是careplicatorlayer?

一種可以複製自己子層的layer,並且複製出來的layer和原生子層有同樣的屬性,位置,形變,動畫。

2、careplicatorlayer屬性1、首先建立好「複製圖層」,和乙個「音量振動條圖層」,把「音量振動條圖層」新增到 「複製圖層」上

//careplicatorlayer: 複製圖層,可以把圖層裡面的所有子層複製

careplicatorlayer * repl = [careplicatorlayer layer];

repl.frame = _dgplayview.bounds;

[_dgplayview.layer addsublayer:repl];

//建立一條layer

calayer * layer = [calayer layer];

//設定錨點

layer.anchorpoint = cgpointmake(0.5, 1);

//設定定位點

layer.position = cgpointmake(15, _dgplayview.bounds.size.height);

layer.bounds = cgrectmake(0, 0, 30, 150);

layer.backgroundcolor = [uicolor orangecolor].cgcolor;

[repl addsublayer:layer];

2、給「音量振動條」新增動畫
//動畫

cabasicanimation * anim = [cabasicanimation animation];

anim.keypath = @"transform.scale.y";

anim.tovalue = @0.1;

anim.duration = 0.5;

anim.repeatcount = maxfloat;

//設定動畫反轉

anim.autoreverses = yes;

[layer addanimation:anim forkey:nil];

3、複製其他振動條
//複製層中子層的總數,包含原始層

repl.instancecount = 5;

//子層的偏移量,不包括原始層,相對於原始層x偏移,每個之間在x軸上相差45

repl.instancetransform = catransform3dmaketranslation(45, 0, 0);

//子層動畫的延遲時間,相對於上乙個子層

repl.instancedelay = 0.1;

//子層顏色漸變,越小就越深

repl.instanceredoffset = -0.1;

#import "viewcontroller.h"

@inte***ce

viewcontroller ()

@property (weak, nonatomic) iboutlet

uiview *dgplayview;

@end

@implementation

viewcontroller

- (void)viewdidload

@end

iOS 振動反饋

位址如下 1.常用場景 2.原始碼解釋 cocoa 框架中提供了幾種振動反饋效果 oc uiimpactfeedbackgenerator typedef ns enum nsinteger,uiimpactfeedbackstyle uinotificationfeedbackgenerator ...

iOS下更改系統音量

ios中,如果想更改系統音量,只有2個方法,一是使用私有方法 二是使用mpvolumeview。私有方法不在我們的討論範圍之列,我們來討論一下如何使用。這樣帶來的問題就是,會顯示乙個mpvolumeview 需要手動觸發滑動事件 對於第乙個問題很簡單,mpvolumeview的hidden屬性設定為...

iOS 程式內調節音量

在ios裝置中音量分為耳機音量和手機音量,二者相互獨立 但是不管耳機還是 手機都是呼叫一種方法改變音量,在裝置上有耳機的時候改變耳機音量,沒有耳機的時候改變手機音量。在解壓後找到 systemvolumenativeextension iosvolumelib iosvolumelib iosvol...