繁体   English   中英

onTapGesture 不适用于 SwiftUI 中的填充修饰符

[英]onTapGesture not working with padding modifier in SwiftUI

出于某种原因,当我添加填充修饰符时,onTapGesture 修饰符不起作用。 如果你往下看,你会看到我尝试添加填充修饰符的 3 个地方。 如果我注释掉/删除填充修饰符,onTapGesture 修饰符可以正常工作,但如果我取消注释任何这些填充,onTapGesture 将停止工作。 我不知道这里发生了什么。

if noninitialRun == false {
                ZStack(alignment: .topTrailing) {
                    Walkthrough()
                        //.padding(-16)
                    
                    VStack {
                        Image(systemName: "xmark")
                            //.padding()
                            .onTapGesture {
                                print("tap")
                                noninitialRun = true
                                UserDefaults().setValue(true, forKey: "notFirstRun")
                        }
                        //.padding()
                    }
                }
            }

它适用于 Xcode 12.3。 我认为您的 Xcode 版本导致了它。 但是,您可以尝试: .contentShape(Rectangle())


VStack {
  Image(systemName: "xmark")
  .padding()
  .onTapGesture {
    print("tap")
    noninitialRun = true
    UserDefaults().setValue(true, forKey: "notFirstRun")
  }
  .padding()
}.contentShape(Rectangle())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM