iOS 儀表盤動(dòng)效

年初做了個(gè)類似支付寶儀表盤浪慌,
看了很多demo都不太符合要求,就自己動(dòng)手做了一個(gè)追他。

希望能給個(gè)star?
github地址:github.com/TildaWatts/EzraRoundView.git

中間還是有點(diǎn)坑,不過效果可以。

動(dòng)效全部使用的CALayer畫的直秆,可以節(jié)省性能,不用考慮線程鞭盟。

需求是這樣的:雙層動(dòng)效圾结。 外圈底層顏色從由左向右,由紅到黃漸變 齿诉,由上到下筝野,透明度逐漸變淺。

IMG_4749.GIF
@property (nonatomic,assign) CGFloat percent;//期望進(jìn)度
@property (nonatomic, assign) CGFloat maximum;//滿進(jìn)度

其中這個(gè)地方可能需要解釋一下粤剧,這個(gè)底色漸變的CAGradientLayer的方法遗座,研究了很久,基本搞清楚了俊扳,先看代碼

//外圓底色(漸變)
- (CAGradientLayer *)draProgressBottomGradieLayer
{
    
    _progressBottomGradieLayer = [CAGradientLayer layer];
    _progressBottomGradieLayer.frame = self.bounds;
    
    CGFloat width = self.frame.size.width;
    CGFloat height = self.frame.size.height;
    //上
    CAGradientLayer *gradientLayer1 = [CAGradientLayer layer];
    gradientLayer1.frame = CGRectMake(0, 0, width, height);
    gradientLayer1.colors = @[(__bridge id)[UIColor colorWithHexString:@"FF4C4C"].CGColor,
                              (__bridge id)[UIColor colorWithHexString:@"FFB94A"].CGColor];
    gradientLayer1.startPoint = CGPointMake(0, 0);
    gradientLayer1.endPoint = CGPointMake(1, 0);
    
    //左下
    CAGradientLayer *gradientLayer2 = [CAGradientLayer layer];
    gradientLayer2.frame = CGRectMake(0, height/2.0, width/2.0,  height/2.0);
    gradientLayer2.colors = @[(__bridge id)[UIColor colorWithHexString:@"FF4C4C"].CGColor,
                              (__bridge id)[UIColor colorWithHexString:@"FFFFFF" alpha:1].CGColor];
    gradientLayer2.startPoint = CGPointMake(0, 0);
    gradientLayer2.endPoint = CGPointMake(0, 1);
    
    //右下
    CAGradientLayer *gradientLayer3 = [CAGradientLayer layer];
    gradientLayer3.frame = CGRectMake(width/2.0, height/2.0, width/2.0,  height/2.0);
    gradientLayer3.colors = @[(__bridge id)[UIColor colorWithHexString:@"FFB94A"].CGColor,
                              (__bridge id)[UIColor colorWithHexString:@"FFFFFF" alpha:1].CGColor];
    gradientLayer3.startPoint = CGPointMake(0, 0);
    gradientLayer3.endPoint = CGPointMake(0, 1);
    
    [_progressBottomGradieLayer addSublayer:gradientLayer1];
    [_progressBottomGradieLayer addSublayer:gradientLayer2];
    [_progressBottomGradieLayer addSublayer:gradientLayer3];
    [gradientLayer1 setLocations:@[@0.35,@0.75]];
    [gradientLayer3 setLocations:@[@0.2,@0.75]];
    [gradientLayer2 setLocations:@[@0.2,@0.75]];
    
    return _progressBottomGradieLayer;
}
image.png

再看這個(gè)示意圖途蒋,抱歉有點(diǎn)粗糙。
底色是個(gè)正方形分成3分 馋记,1/2 ,1/4,1/4
先確定尺寸 即 CAGradientLayer xxx.frame = CGRectMake(...);

startPoint和endPoint是需要漸變的方向号坡,坐標(biāo)最大值1即是滿值懊烤,如圖

image.png

確定好了漸變方向,需要確定漸變位置宽堆,即漸變位置的百分比
[gradientLayerX setLocations:@[@0.35,@0.75]];

大概就是這樣了腌紧,如果對(duì)您有幫助,希望點(diǎn)下喜歡和star

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末畜隶,一起剝皮案震驚了整個(gè)濱河市壁肋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌籽慢,老刑警劉巖浸遗,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異箱亿,居然都是意外死亡跛锌,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門届惋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來髓帽,“玉大人,你說我怎么就攤上這事脑豹≈2兀” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵瘩欺,是天一觀的道長译秦。 經(jīng)常有香客問我,道長击碗,這世上最難降的妖魔是什么筑悴? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮稍途,結(jié)果婚禮上阁吝,老公的妹妹穿的比我還像新娘。我一直安慰自己械拍,他們只是感情好突勇,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著坷虑,像睡著了一般甲馋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上迄损,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天定躏,我揣著相機(jī)與錄音,去河邊找鬼。 笑死痊远,一個(gè)胖子當(dāng)著我的面吹牛垮抗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播碧聪,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼冒版,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了逞姿?” 一聲冷哼從身側(cè)響起辞嗡,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎滞造,沒想到半個(gè)月后续室,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡断部,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年猎贴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了班缎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蝴光。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖达址,靈堂內(nèi)的尸體忽然破棺而出蔑祟,到底是詐尸還是另有隱情,我是刑警寧澤沉唠,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布疆虚,位于F島的核電站,受9級(jí)特大地震影響满葛,放射性物質(zhì)發(fā)生泄漏径簿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一嘀韧、第九天 我趴在偏房一處隱蔽的房頂上張望篇亭。 院中可真熱鬧,春花似錦锄贷、人聲如沸译蒂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柔昼。三九已至,卻和暖如春炎辨,著一層夾襖步出監(jiān)牢的瞬間捕透,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留激率,地道東北人咳燕。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像乒躺,于是被迫代替她去往敵國和親招盲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容