为什么 Text onTapGesture 不适用于 SwiftUI 中的加宽框架?

Why is Text onTapGesture not working for widened frame in SwiftUI?

我的测试文件无法正常工作。

import SwiftUI

struct SwiftUIView: View {
    
    @State var boolTest = false
    
    var nums = ["1","2","3","4","5","6","7"]
    
    var body: some View {
        VStack {
            ForEach(nums, id: \.self) { num in
                Text("\(num)")
                    .frame(width: 400)
                    .font(.system(size: 70))
                    .foregroundColor(boolTest ? .red : .green)
                    .onTapGesture {
                        boolTest.toggle()
                    }
            }

        }
    }
}

struct SwiftUIView_Previews: PreviewProvider {
    static var previews: some View {
        SwiftUIView()
    }
}

当我点击一个数字时,前景色按预期变化。但是,我希望能够点击 Text("\(num)") 的左侧和右侧区域,因此我扩展了框架修改器以进行测试。但是,只有当我直接点击数字或文本时,颜色才会改变。

如何点击数字左侧或右侧的 space 并让它改变颜色而不是什么都不做?

系统将视图的“不可见”(即没有可见的绘制内容)部分视为无响应,除非您对其设置 contentShape

//...
.frame(width: 400)
.contentShape(Rectangle())
//...