gpt4 book ai didi

swiftui - 我怎样才能让 onTapGesture 仅在用户点击圆圈而不是在 SwiftUI 中的圆圈的所有框架内时才起作用?

转载 作者:行者123 更新时间:2023-12-04 03:45:53 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





SwiftUI: How to make entire shape recognize gestures when stroked?

(1 个回答)


12 个月前关闭。




我正在使用这个向下代码来读取用户在 Circle 上的点击,问题是它适用于框架 100X100 的所有部分,但我希望它只能适用于颜色填充的 Circle,我该如何解决这个问题?

    struct ContentView: View {


var body: some View {


Circle()
.fill(Color.red)
.frame(width: 100, height: 100, alignment: .center)
.onTapGesture {
print("tap")
}

}
}

最佳答案

一个不错的小技巧是在圆圈中添加一个背景层(它不能 100% 清晰或无法渲染,所以我将它的不透明度设为 0.0001,看起来清晰),然后在该层上添加另一个 tapGesture。新手势将在背景区域中优先,我们可以让它不做任何 Action ,这样什么也不会发生。

Circle()
.fill(Color.red)
.frame(width: 100, height: 100, alignment: .center)
.background(
Color.black.opacity(0.0001).onTapGesture { }
)
.onTapGesture {
print("tap")
}

关于swiftui - 我怎样才能让 onTapGesture 仅在用户点击圆圈而不是在 SwiftUI 中的圆圈的所有框架内时才起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65163220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com