Swiftui HStack:ontap手势仅对元素有效
我举了一个例子:Swiftui HStack:ontap手势仅对元素有效,swiftui,Swiftui,我举了一个例子: struct ContentView: View { var body: some View { HStack { Text("part1") Spacer() Text("part2") Spacer() Text("part3") }
struct ContentView: View {
var body: some View {
HStack {
Text("part1")
Spacer()
Text("part2")
Spacer()
Text("part3")
}
.onTapGesture {
print("tapped")
}
}
}
问题是,.ontapsignate
仅在我点击文本时才会被调用,但如果我点击元素之间的空格,则不会被调用
我试图将一个矩形().fill(Color.clear)
作为HStack
的背景,但它也不起作用(如果我把它放在例如Color.blue
,它只起作用)。它需要指定内容形状来覆盖所有区域,因为默认情况下只有不透明的东西才能处理手势
}
.contentShape(Rectangle()) // << here !!
.onTapGesture {
print("tapped")
}
}
.contentShape(矩形())//谢谢!刚刚发现.background(Rectangle().fill(Color(UIColor.systemBackground))
也可以;)极好的解决方案!