Я боролся с этой проблемой некоторое время.Apple сделала Button
особенным в SwiftUI.Он может меняться в зависимости от используемого контекста.Вот почему мы видим эту странную функциональность, когда Button
находится внутри List
.
К счастью, есть другие способы использования .tapAction
или TapGesture
.Попробуйте код ниже.
var body: some View {
HStack {
Text(control.name)
Spacer()
Text("Action")
.frame(width: 250 - 10)
.padding(5)
.background(Color(white: 0.9))
.cornerRadius(10)
.frame(width: 250)
.tapAction {
print("action1")
}
Image(systemName: "info.circle")
.foregroundColor(.accentColor)
.tapAction {
print("action2")
}
}
}
или
var body: some View {
HStack {
Text(control.name)
Spacer()
Text("Action")
.frame(width: 250 - 10)
.padding(5)
.background(Color(white: 0.9))
.cornerRadius(10)
.frame(width: 250)
.gesture(TapGesture().onEnded() {
print("action1")
})
Image(systemName: "info.circle")
.foregroundColor(.accentColor)
.gesture(TapGesture().onEnded() {
print("action2")
})
}
}