Ching 990720f9d3 feat(view): 新增 pie 样式 view
新增 pie 样式 view

Signed-off-by: Ching <loooching@gmail.com>
2023-02-15 19:31:58 +08:00

38 lines
835 B
Swift

//
// Pie.swift
// Memorize
//
// Created by ching on 2023/2/15.
//
import SwiftUI
struct Pie: Shape {
var startAngle: Angle
var endAngle: Angle
var clockwise = false
func path(in rect: CGRect) -> Path {
let center = CGPoint(x: rect.midX, y: rect.midY)
let radius = min(rect.height, rect.width) / 2
let start = CGPoint(
x: center.x + radius * CGFloat(cos(startAngle.radians)),
y: center.y + radius * CGFloat(sin(startAngle.radians))
)
var p = Path()
p.move(to: center)
p.addLine(to: start)
p.addArc(
center: center,
radius: radius,
startAngle: startAngle,
endAngle: endAngle,
clockwise: !clockwise
)
p.addLine(to: center)
return p
}
}