我在ZStack中有两个视图.一个是ProgressView(),另一个是Circle().

在这个ZStack中,我有一个绿色的背景色,带有ontapbirth事件.

我注意到,每当我单击ProgressView()时,背景色事件不会触发,但当我单击圆形()时,它会触发背景色事件.

那么,如果两者都位于背景色之上,为什么会这样呢?我认为这不应该引发这两种观点的事件.

my view

       ZStack() {
        Color.green.ignoresSafeArea(.all)
            .onTapGesture {
                print("checked")
            }
        VStack() {
            ProgressView()
            Circle().frame(width: 30, height: 30, alignment: .leading)
        }
        
    }

推荐答案

这似乎是一种正常的行为.

然而,如果你想摆脱这个问题,你可以用一个简单的空白onTapGesture{}来包装你的堆栈.

VStack {

}.onTapGesture{}

onTapGesture{}将使堆栈摆脱这个问题,此外,它不会影响堆栈中的子视图和按钮.堆栈中的Button将正常运行.

Swift相关问答推荐

计算Vision OS相机与Vision OS中3D模型之间的距离

阴影动画的动画不流畅

如何访问用户选定目录下的(只读)文件?

SWIFT Vapor控制台应用程序-操作无法完成.权限被拒绝

如何在AudioKit中实现自定义音效 node ?

ARRaycast Query和前置摄像头(ARFaceTrackingConfiguration)

我可以为UIMenu设定一个固定的订单吗?

从`compactMap()`闭包返回`nil`未通过结果类型判断

如何在SwiftUI中更改NSTextView中的 Select colored颜色 ?

如何将变量添加到不属于可解码部分的 struct ?

签署GoogleSignIn-GoogleSignIn需要开发团队

关联满足约束时的快速协议方法

Swift Swiftui - 将 colored颜色 保存到 UserDefaults 并从 @AppStorage 使用它

如何在 RxSwift 中获取 controlEvent 类型?

在 xcode 13 中的构建之间保持可访问性权限

在 Swift 中从 HTML 生成带有图像的 PDF 而不显示打印界面

快速在 LLDB 中使用 po

使用 phimagemanager 将图像保存到自定义相册?

如何快速识别字符串中的大写和小写字符?

应用程序包不包含有效标识符