IOS實(shí)現(xiàn)簡單的進(jìn)度條功能
本文實(shí)例繪制了炫酷的下載進(jìn)度條,分享給大家供大家參考,具體內(nèi)容如下
一、實(shí)現(xiàn)思路
1、要實(shí)現(xiàn)繪圖,通常需要自定義一個(gè)UIView的子類,重寫父類的- (void)drawRect:(CGRect)rect方法,在該方法中實(shí)現(xiàn)繪圖操作
2、若想顯示下載進(jìn)度,只需要實(shí)例化自定義子類的對(duì)象(若是storyboard中控件,只需修改控件的class屬性為自定義子類的類名即可)
3、效果圖所示的效果其實(shí)是繪制一個(gè)圓弧,動(dòng)態(tài)的改變終點(diǎn)的位置,最終達(dá)到一個(gè)封閉的圓
4、中間的文字是一個(gè)UILabel控件,根據(jù)進(jìn)度動(dòng)態(tài)改變文字的現(xiàn)實(shí)
二、實(shí)現(xiàn)步驟
1、自定義一個(gè)UIView的子類
//提供一個(gè)成員屬性,接收下載進(jìn)度值 @property (nonatomic, assign) CGFloat progress;
2、重寫成員屬性progress的setter
//每次改變成員屬性progress的值,就會(huì)調(diào)用它的setter - (void)setProgress:(CGFloat)progress { _progress = progress; //當(dāng)下載進(jìn)度改變時(shí),手動(dòng)調(diào)用重繪方法 [self setNeedsDisplay]; }
3、重寫- (void)drawRect:(CGRect)rect(核心)
- (void)drawRect:(CGRect)rect { //設(shè)置圓弧的半徑 CGFloat radius = rect.size.width * 0.5; //設(shè)置圓弧的圓心 CGPoint center = CGPointMake(radius, radius); //設(shè)置圓弧的開始的角度(弧度制) CGFloat startAngle = - M_PI_2; //設(shè)置圓弧的終止角度 CGFloat endAngle = - M_PI_2 + 2 * M_PI * self.progress; //使用UIBezierPath類繪制圓弧 UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:center radius:radius - 5 startAngle:startAngle endAngle:endAngle clockwise:YES]; //將繪制的圓弧渲染到圖層上(即顯示出來) [path stroke]; }
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
- iOS實(shí)現(xiàn)步驟進(jìn)度條功能實(shí)例代碼
- 使用axios實(shí)現(xiàn)上傳圖片進(jìn)度條功能
- iOS中利用CoreAnimation實(shí)現(xiàn)一個(gè)時(shí)間的進(jìn)度條效果
- ios開發(fā)加載webview顯示進(jìn)度條實(shí)例
- iOS 進(jìn)度條、加載、安裝動(dòng)畫的簡單實(shí)現(xiàn)
- Android仿IOS ViewPager滑動(dòng)進(jìn)度條
- iOS實(shí)現(xiàn)帶動(dòng)畫的環(huán)形進(jìn)度條
- iOS快速實(shí)現(xiàn)環(huán)形漸變進(jìn)度條
- iOS中使用NSProgress類來創(chuàng)建UI進(jìn)度條的方法詳解
- iOS中WKWebView仿微信加載進(jìn)度條
相關(guān)文章
iOS App項(xiàng)目中引入SQLite數(shù)據(jù)庫的教程
SQLite是一個(gè)極輕的嵌入式數(shù)據(jù)庫,在應(yīng)用程序中捆綁使用可以更方便地幫助操控關(guān)系型數(shù)據(jù),這里我們就來看一下iOS App項(xiàng)目中引入SQLite數(shù)據(jù)庫的教程2016-06-06iOS中的UITextView文字輸入光標(biāo)使用技巧小結(jié)
UITextView在用戶體驗(yàn)方面有著十分明顯的作用,包括鍵盤的呼出及文字的選擇等,接下來就來整理給出一份iOS中的UITextView文字輸入光標(biāo)使用技巧小結(jié),需要的朋友可以參考下2016-05-05iOS安全防護(hù)系列之字符串及系統(tǒng)函數(shù)隱藏詳解
這篇文章主要給大家介紹了關(guān)于iOS安全防護(hù)系列之字符串及系統(tǒng)函數(shù)隱藏的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07iOS中將個(gè)別頁面強(qiáng)制橫屏其他頁面豎屏
這篇文章主要介紹了iOS中將個(gè)別頁面強(qiáng)制橫屏其他頁面豎屏的實(shí)現(xiàn)思路,需要的朋友參考下吧2016-12-12iOS開發(fā)中UIDatePicker控件的使用方法簡介
這篇文章主要介紹了iOS開發(fā)中UIDatePicker控件的使用方法簡介,用來處理各種時(shí)間日期的選擇,需要的朋友可以參考下2015-11-11iOS 11 UINavigationItem 去除左右間隙的方法
本篇文章主要介紹了iOS 11 UINavigationItem 去除左右間隙的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10IOS開發(fā)之適配iOS10及Xcode8的注意點(diǎn)
這篇文章主要介紹了IOS開發(fā)之適配iOS10及Xcode8的注意點(diǎn),本文給大家介紹了可能出現(xiàn)的問題及相應(yīng)的解決方法,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看看2016-10-10