實戰問題
我Arc在 SwiftUI 中創建了一個自定義形狀,但是當我onTapGesture向它添加修改器時,它會在我為 繪制的區域之外注冊點擊Arc(它在用于繪制 的區域內的任何地方注冊點擊),如何確保點擊僅在的繪制路徑內注冊,而不是整個?rectArcArcrect
這是Arc我畫的形狀:
struct Arc: Shape {
let angle: Angle
let thickness: CGFloat
let clockwise: Bool
func path(in rect: CGRect) -> Path {
var path = Path()
let innerArcEndPoint = CGPoint(x: rect.maxX - thickness, y: 0)
let innerArcStartPoint = CGPoint(
x: innerArcEndPoint.x * cos(CGFloat(angle.radians)),
y: innerArcEndPoint.x * sin(CGFloat(angle.radians)))
path.move(to: innerArcStartPoint)
path.addArc(center: rect.origin, radius: innerArcEndPoint.x, startAngle: angle, endAngle: Angle.zero, clockwise: !clockwise)
path.addLine(to: CGPoint(x: rect.maxX, y: 0))
path.addArc(center: rect.origin, radius: rect.maxX, startAngle: Angle.zero, endAngle: angle, clockwise: clockwise)
path.closeSu
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/291510.html
標籤:其他
