SwiftUI Spacer() onTapGesture 无法触发

问题:点击这个黑色区域不会 print,黑色区域看上去刚好是 Spacer() 占据的区域SwiftUI Spacer() onTapGesture 无法触发_第1张图片


解决办法:不使用 onTapGesture,用 Button 包裹一下

SwiftUI Spacer() onTapGesture 无法触发_第2张图片

Code:

import SwiftUI

struct TestTap: View {
    var body: some View {
        NavigationStack {
            List {
                Section {
                    Button {
                        print("Tap !!!", Date.now)
                        
                    } label: {
                        HStack(spacing: 0) {
                            Image(systemName: "swift")
                                .resizable()
                                .scaledToFit()
                                .frame(width: 66)
                                .foregroundColor(.yellow)
                                .border(.yellow)
                            
                            Text("Swift")
                                .foregroundColor(.green)
                                .border(.green)
                            
                            Spacer()
                            
                            Image(systemName: "checkmark.circle.fill")
                                .font(.title2)
                                .foregroundColor(.blue)
                                .border(.blue)
                        }
                        .border(.red)
                    }
                }
            }
        }
    }
}

struct TestTap_Previews: PreviewProvider {
    static var previews: some View {
        TestTap()
    }
}


喜欢或对你有帮助,点个赞吧,自己先点个嘿嘿。
有错误或者疑问还请评论指出。
我的个人网站 点击访问 hongweizhu.com。

END

你可能感兴趣的:(SwiftUI,Swift,提升体验,swiftui,ios,Swift,Spacer,onTapGesture)