【发布时间】:2021-01-19 21:49:25
【问题描述】:
我有一个简单的形状,我想用作按钮,但我希望链接/按钮仅在单击形状本身而不是在其框架上时触发。使用以下代码,在三角形框架内单击时也会触发链接:
struct Triangle: Shape {
func path(in rect: CGRect)-> Path {
var path = Path()
path.move(to: CGPoint(x: rect.midX, y: rect.minY))
path.addLine(to: CGPoint(x: rect.minX, y: rect.maxY))
path.addLine(to: CGPoint(x: rect.maxX, y: rect.maxY))
path.addLine(to: CGPoint(x: rect.midX, y: rect.minY))
return path
}
}
struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink(
destination: Text("DetailView")){
Triangle()
.fill(Color.green)
.frame(width: 200, height: 200, alignment: .center)
}.navigationBarTitle(Text("Triangle"))
}
}
}
如何将代码调整为只点击三角形而不是触发链接的框架?
【问题讨论】:
标签: swift button swiftui shapes swiftui-navigationlink