Действие кнопки SwiftUI не работает, но OnTapGesture - PullRequest
0 голосов
/ 05 марта 2020

Здравствуйте, я пытаюсь добиться простой функциональности, но почему-то я не могу использовать действие кнопки, она никогда не срабатывает, и не только в этом коде, но и во всем приложении, я делаю что-то не так или это глюк от 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
                }
        }}}

Помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 05 марта 2020

Ваш код в принципе нормальный, пропал только один} ...

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()
  }
}
...