iOS 簡單實用的圓形進度條

2021-07-11 10:57:35 字數 2157 閱讀 1203

之前做專案的時候有用到環形進度條,先是在網上找了一下第三方控制項,發現好用是好用,就是東西太多了,有點複雜,還不如自己寫乙個簡單點適合自己用的。

先把自定義控制項的效果圖貼出來。

其實我寫的這個控制項很簡單。索性就直接把原始碼貼出來吧。

// 新建乙個view 

.h檔案的內容就是一些宣告

#import 

@inte***ce progressview : uiview

//中心顏色

@property(strong, nonatomic)

uicolor

*centercolor;

//圓環背景色

@property(strong, nonatomic)

uicolor

*arcbackcolor;

//圓環色

@property(strong, nonatomic)

uicolor

*arcfinishcolor;

@property (strong, nonatomic)uicolor *arcunfinishcolor;

//百分比數值(0-1)

@property(assign, nonatomic)floatpercent;

//圓環寬度

@property(assign, nonatomic)floatwidth;

@end

.m檔案裡就是具體實現了

#import "progressview.h"

@implementationprogressview

- (id)initwithframe:(cgrect)frame

returnself; }

- (void)setpercent:(float)percent

- (void)drawrect:(cgrect)rect

- (void)addarcbackcolor

- (void)drawarc

if (_percent == 1) else

}-(void)addcenterback

- (void)addcenterlabelelse

if(_percent

= 0)

cgsize viewsize = self.bounds.size;

nsmutableparagraphstyle*paragraph = [[nsmutableparagraphstyle

alloc

] init];

paragraph.

alignment

= nstextalignmentcenter;

nsdictionary*attributes = [nsdictionary

dictionarywithobjectsandkeys

:[uifont

boldsystemfontofsize

:fontsize],nsfontattributename,arccolor,nsforegroundcolorattributename,[uicolor

clearcolor

],nsbackgroundcolorattributename,paragraph,nsparagraphstyleattributename,

nil];

[percent drawinrect:cgrectmake(5, (viewsize.height-fontsize)/2, viewsize.width-10, fontsize)withattributes:attributes];

}@end

具體的呼叫就是

progressview *progress = [[progressview

alloc]initwithframe:cgrectmake(detil.width-65, 10, 60, 60)];

progress.arcfinishcolor = color_string(@"#75ab33");

progress.arcunfinishcolor = color_string(@"#0d6fae");

progress.arcbackcolor = color_string(@"#eaeaea");

progress.percent = 1;

[detil addsubview:progress];

ios弧形進度條 iOS 圓形進度條

釋放雙眼,帶上耳機,聽聽看 今天產品要弄乙個圓形的進度條 有很多開源的進度條不用,非要弄這種效果,就不吐槽了,還是想想怎麼實現 廢話就不多說了 直接上 import inte ce roundprogressview uiview 進度條顏色 property strong,nonatomic ui...

ios弧形進度條 ios 圓形進度條

今天產品要弄乙個圓形的進度條 有很多開源的進度條不用,非要弄這種效果,就不吐槽了,還是想想怎麼實現 廢話就不多說了 直接上 import inte ce roundprogressview uiview 進度條顏色 property strong,nonatomic uicolor progress...

IOS 圓形進度條

demo created by leao on 2017 8 7.import typedef ns enum nsinteger,ccprogressviewstyle inte ce ccprogressview uiview property nonatomic,assign,setter s...