您好,我正在尝试实现简单的功能,但是以某种方式无法使用按钮的 action ,它从未触发过,不仅在此代码中,而且在我的整个应用程序中,我都在做什么?错误还是SwiftUI的故障。但是 onTapGesture 效果很好。
struct CounterView: View {
@State var counter = 0
var body: some View{
HStack(alignment: .center, spacing: 8){
Button(action: {
//self.counter += 1
}) {
HStack {
Image(systemName: "plus")
}.padding(4.0)
.overlay(
RoundedRectangle(cornerRadius: 4.0)
.stroke(lineWidth: 1.0)
.trim()
)
.onTapGesture {
self.counter += 1
}
}}}
帮助我解决此问题。
答案 0 :(得分:1)
您需要在图片上设置尺寸
Image(systemName: "plus")
.font(.system(size: 40, weight: .regular))
答案 1 :(得分:0)
您的代码基本上可以,只是缺少一个} ...
import SwiftUI
struct CounterView: View {
@State var counter = 0
var body: some View{
HStack(alignment: .center, spacing: 8){
Button(action: {
self.counter += 1
print("count from action", self.counter)
}) {
HStack {
Image(systemName: "plus")
}.padding(4.0)
.overlay(
RoundedRectangle(cornerRadius: 4.0)
.stroke(lineWidth: 1.0)
.trim()
)
// .onTapGesture {
// self.counter += 1
// }
}
}
}
}
struct CounterView_Preview: PreviewProvider {
static var previews: some View {
CounterView()
}
}