Quartz2D繪制下載進(jìn)度

ViewController.h 文件

#import "ViewController.h"
#import "ProgressView.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UILabel *labelView;
@property (weak, nonatomic) IBOutlet UISlider *slider;
@property (weak, nonatomic) IBOutlet ProgressView *progressView;

@end

@implementation ViewController

- (IBAction)sliderAction:(UISlider *)sender {
    
  //設(shè)置label上的文字內(nèi)容
    _labelView.text = [NSString stringWithFormat:@"%.2f%%",sender.value*100];
    //傳值
    _progressView.progress = sender.value;
    
}

ProgressView.h 文件

#import <UIKit/UIKit.h>

@interface ProgressView : UIView
  //提供一個接受滑動條value值的屬性
@property(nonatomic,assign)CGFloat progress;

@end

ProgressView.m 文件

#import "ProgressView.h"

@implementation ProgressView

- (void)drawRect:(CGRect)rect {
   
    //設(shè)置半徑
    CGFloat radius = rect.size.width*0.5;
     //圓心
    CGPoint center = CGPointMake(radius, radius);
    //終點
    CGFloat endA = - M_PI_2 +_progress*M_PI*2;
    //伊瑟爾路徑繪圖
    UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:center radius:radius-3 startAngle:-M_PI_2 endAngle:endA clockwise:YES];
    //渲染
    [path stroke];
    
}

//復(fù)寫set方法,作用:一旦progress的值改變,就重繪
-(void)setProgress:(CGFloat)progress{
    
    _progress = progress;
    
    //重繪,系統(tǒng)會先創(chuàng)建與view相關(guān)聯(lián)的上下文,然后再調(diào)用drawrect
    [self setNeedsDisplay];
    
    
//注意:drawRect不能手動調(diào)用,因為圖形上下文我們自己創(chuàng)建不了,只能由系統(tǒng)幫我們創(chuàng)建,并且傳遞給我們
}

@end

storyboard中的布局

運行截圖(拖動滾動條,進(jìn)行畫圓)

效果圖
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,176評論 4 61
  • 01 何為歸宿? 我們都曾去需求一個寄托點,每個寄托點都是自己的歸宿,會擁有歸宿感。那種可以迎難而上,那種又...
    efa5bdf591c9閱讀 373評論 0 1
  • 從喜歡你的那一刻起到現(xiàn)在,不過一年零兩個月。陳老師放《唐之韻》給我們看,我便開始喜歡上你了,莫名地喜歡,不知道為什...
    示子小姐閱讀 584評論 17 8
  • 【摘要】理科僧后來當(dāng)了一個四年基本不動筆的文科僧并讀了研,還吃了碼字這碗飯。閑來無事的時候,很少去寫什么東西。當(dāng)拿...
    紅薯攤兒閱讀 312評論 1 0
  • 無邊的湖,窒息的霧 來一陣風(fēng),吹散那霧,吹皺那湖 無邊的湖,窒息的霧 化一陣風(fēng),吹散那霧,吹皺那湖
    飛羽城主閱讀 325評論 0 4

友情鏈接更多精彩內(nèi)容