自定義圓形進度條,繪製進度條

2021-07-10 07:07:23 字數 1058 閱讀 9173

@inte***ce hmprogressview()

@property (nonatomic, weak) uilabel *label;

@end

@implementation hmprogressview

// [self drawrect:self.bounds];

// 重新繪製

// 在view上做乙個重繪的標記,當下次螢幕重新整理的時候,就會呼叫drawrect.

[self setneedsdisplay];

}// only override drawrect: if you perform custom drawing.

// an empty implementation adversely affects performance during animation.

// 當檢視顯示的時候會呼叫 預設只會呼叫一次

- (void)drawrect:(cgrect)rect

{ // drawing code

// 1.獲取上下文

cgcontextref ctx = uigraphicsgetcurrentcontext();

// 2.拼接路徑

cgpoint center = cgpointmake(50, 50);

cgfloat radius = 50 - 2;

cgfloat starta = -m_pi_2;

cgfloat enda = -m_pi_2 + _progress * m_pi * 2;

uibezierpath *path = [uibezierpath bezierpathwitharccenter:center radius:radius startangle:starta endangle:enda clockwise:yes];

// 3.把路徑新增到上下文

cgcontextaddpath(ctx, path.cgpath);

// 4.把上下文渲染到檢視

cgcontextstrokepath(ctx);

@end

自定義圓形進度條

author wangxiao public class roundprogressbar extends view public roundprogressbar context context,attributeset attrs public roundprogressbar context ...

自定義圓形進度條

之前做專案的時候有用到環形進度條,先是在網上找了一下第三方控制項,發現好用是好用,就是東西太多了,有點複雜,還不如自己寫乙個簡單點適合自己用的。先把自定義控制項的效果圖貼出來。其實我寫的這個控制項很簡單。索性就直接把原始碼貼出來吧。h檔案的內容就是一些宣告 import inte ce progre...

自定義圓形進度條

首先在values檔案下面建立 attr.xml檔案 name circleprogressbar name ringcolor format color name ridus format dimension name ringwidth format dimension name textsiz...