#27 UIBezierPath 實作圓環進度條
App 內圓環進度條設計(上)
Published in
Aug 14, 2022
實作結果:
程式碼:
解說:
- 建立基本變數:單位角度、圓圈寬度、起始角度
- 繪製底層圖形(圓形)> 建立底層中空灰圓框圖層
- 繪製上層佔比圓弧框 > 建立上層佔比圓弧框圖層
- 建立標籤並設立格式(建立自動變更變數文字)
- 依照圖層先後順序添加至 View 上
重要觀念:
- 圓形空心框
使用「 ovalIn 」來繪製完整的圓形,再將中心填滿改成「 clear 」,特別注意 radius 為半徑,必須乘以二來表示直徑範圍。
2. 比例圓弧框(不完整的圓弧)
let percenragePath = UIBezierPath(arcCenter: CGPoint(x: lineWidth+radius, y: lineWidth+radius), radius: radius , startAngle: aDegree*startDegree, endAngle: aDegree*(startDegree+360*percentage/100), clockwise: true)//其中起始點為上方,定義為 270 度,順時鐘旋轉
3. 標籤排列方式
label.textAlignment = .center
//置中排列
4. 設定內含變數字串
label.text = "\(percentage)%"
//利用 \ + () 來將變數嵌於字串裡
參考資料:彼得潘密笈
Github 連結:
大家請期待下集製作「圓餅圖、甜甜圈」專輯喔!下期見!