一、結構分析
從gif圖可以看出該控制項由1.半透明的黑底popprogressbar,2.進度條progressview。3.移動的提示hintbtn
//自定義乙個繼承uiview 的popprogressbar檢視
class popprogressbar: uiview
//背景區域的顏色和透明度
var backgroundcolor1:uicolor = uicolor.init(red: 0, green: 0, blue: 0, alpha: 0.4)
//進度條view
var progressview: uiview = uiview()
//提示按鈕
var hintbtn: uibutton!
var beforevalue :cgfloat = 0 //前乙個值
var displaylink: cadisplaylink! //定時器 承接控制器裡的定時器,刪除view時保證定時器關閉
var path: uibezierpath!
var progresslayer :cashapelayer!
//初始化檢視
func initpopbackgroundview() -> popprogressbar
//彈出view
func addanimate(view:popprogressbar)
//新增進度條
func addprogressview()
//為進度條新增遮罩,及layer
@objc func gradentwith(frame:cgrect)
//當前進度
func passvalue(currentvalue: cgfloat,allvalue: cgfloat)
//移除或者中斷進度
@objc func tapbtnandcancelbtnclick()
//1定義一下
var progressbar: popprogressbar! //進度條
var displaylink: cadisplaylink! //定時器
var currentvalue: cgfloat = 0;
//2.在需要載入進度條的方法裡實現
//彈出乙個模擬漸變進度條
currentvalue = 0
progressbar = popprogressbar()
progressbar.addanimate(view: progressbar.initpopbackgroundview())
//定時器模擬實時資料更新
displaylink = cadisplaylink.init(target: self, selector: #selector(displaylinkrun))
displaylink.add(to: runloop.current, formode: runloop.mode.defaultrunloopmode)
progressbar.displaylink = displaylink
//3.模擬實時資料更新呼叫
@objc func displaylinkrun()
else
}
封裝乙個進度條
1.首先定義乙個處理資料需要產生進度的介面和抽象類 1 namespace progress.core 26 posscesscompleted mposscesscompleted 7 thread mthread 8bool isstop 9void start 10 11public dele...
iOS實現乙個顏色漸變的弧形進度條
在github上看到一些進度條的功能,都是通過core graph來實現。無所謂正確與否,但是開發效率明顯就差很多了,而且執行效率還是值得考究的。其實使用蘋果提供的core animation能夠非常簡單和方便的實現環形進度條效果,而且還可以高效的保證動畫效果,無論是前進還是後退 語言水平比較有限,...
實現乙個彩色進度條
顯示序列 033 0m 關閉轉義序列 033 1m 粗體或高亮 033 5m 閃爍 前景顏色序列 033 30m 黑 033 31m 紅 033 32m 綠 033 33m 黃 033 34m 藍 033 35m 洋紅 033 36m 青 033 37m 白 背景顏色序列 與前景顏色對對應,前景色是...