SwiftUI中的新手.当我在下面的List中 Select 一项时,只有在我按Text的情况下才会触发onTapGesture.如果我在Text外按,但在"牢房"里,它不会触发.我希望它被触发,我如何才能实现这一点?

    List(viewModel.cities, id: \.self, selection: $selection) { city in
                VStack {
                    Text(city)
.frame(maxWidth: .infinity alignment: .leading)
                }
                .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .leading)
                .onTapGesture {
                    if isFocusedFromTextField {
                        from = city
                    } else {
                        to = city
                    }
                }
            }

推荐答案

使用.background()在VStack中添加背景.因为除文本外,其余的查看区域都是空白的,并且空白区域不做敲击手势.

       List(cities, id: \.self) { city in
            VStack {
                Text(city)
                    .frame(maxWidth: .infinity, alignment: .leading)
            }
            .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .leading)
            .background()    //just add this line
            .onTapGesture {
                print("tapped")
            }
        }

Ios相关问答推荐

Firebase SDK 10+—无法安装软件包

通过拖动更改视图位置的SwiftUI会引发UI错误

在某些情况下,UIHostingController在自动调整时不能调整大小

如何解释在SwiftUI视图中观察到持续的数据更改

如何在Android或iPhone上的原生react 中处理其他应用程序通知?

如何在后台显示 Swift UI 中的通讯通知?

如果使用 .onAppear 设置,为什么 SwiftUI Picker 不显示正确的选定值

SwiftUI 菜单中的内联水平按钮

在标签中显示多个计数器但在同一屏幕(Swift,IOS)

添加到单个自定义视图时,Swiftui 项目会在所有视图中重复

Swiftui为什么在点击第二行之前背景不起作用

如何让我的 iOS 应用程序与 api 连接?

CocoaPods 找不到 podFirebase/Core的兼容版本 | cloud_firestore, Flutter

在设备上卸载 ios 应用程序后如何在 ios 中保留 identifierForVendor?

如何在导航栏右侧添加多个 UIBarButtonItem?

为信用卡输入格式化 UITextField,例如 (xxxx xxxx xxxx xxxx)

SwiftUI NavigationView navigationBarTitle LayoutConstraints 问题

快速从 NSTimeInterval 转换为小时、分钟、秒、毫秒

使用 swift 3 在 UIView 上添加阴影

值/对象的 NSDictionary 键?