1 2 3 4 5 6 7 8 9 10 11
| struct ContentView: View { var body: some View { VStack { Text("Hello, World!") Text("Second Text") } .onTapGesture { print("Tapped on the view") } } }
|
上面这个代码,View上面有两个Text,我想要添加一个点击View的事件,按上面的写法,onTapGesture只有点击Text的时候有效,Text并没有充满View,想要点击View的其他空白区域也有效,将可点击区域扩大到整个VStack的矩形区域即可,如下👇
1 2 3 4 5 6 7 8 9 10 11 12 13
| struct ContentView: View { var body: some View { VStack { Text("Hello, World!") Text("Second Text") } .contentShape(Rectangle()) // 将可点击区域扩大到整个VStack的矩形区域 .onTapGesture { // 在这里处理点击事件 print("Tapped on the view") } } }
|
Comments