SwiftUI 畫一個圓餅圖
在swift中並沒有支援畫出一個圓餅圖,這邊使用了一個比較簡單的方法來達成圓餅圖,先使用drawpath來畫出一個圓圈,再將圓圈線的寬度條寬,這樣就可以輕鬆地畫出一個圓圈,當然你也可以使用套件來畫出更美的圓餅圖。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| import SwiftUI
struct ContentView: View { @State var dynamicSize: CGFloat = 100 var body: some View { VStack{ ZStack{ Circle() .strokeBorder(Color.red,lineWidth: 1) .frame(width: 16, height: 16) CircleShape(angle: 120) .fill(Color.blue) }.frame(width: 165, height: 30) Text("HH") } } }
struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } }
struct CircleShape : Shape { var angle: Double let stratAngle:Double = -90 func path(in rect: CGRect) -> Path { var p = Path() p.addArc(center: CGPoint(x: rect.maxX/2, y:rect.maxY/2), radius:4, startAngle: .degrees(-90), endAngle: .degrees(stratAngle+angle), clockwise: false)
return p.strokedPath(.init(lineWidth: 8)) } }
|