我如何检测何时点击TextField? (在MacOS上为SwiftUI)

问题描述 投票:1回答:1

如何检测何时点击TextField? (在MacOS上为SwiftUI)

import SwiftUI

struct ContentView: View {
  @State var field: String = "TextField"

  var body: some View {
    TextField("Fill in Text", text: $field)
      .onTapGesture {
        print("Textfield pressed")
    }
  }
}

当点击TextField时,它不会打印“ Textfield按下”。我猜这是因为在Textfield手势可以检测到水龙头之前,TextField拾取了水龙头。

感谢任何帮助

textfield swiftui gesture tap
1个回答
0
投票

.simultaneousGesture修饰符满足您的需求。

这里是一个例子:

struct TestTextTap: View {
    @State var field: String = "TextField"

    var body: some View {
      TextField("Fill in Text", text: $field)
        .simultaneousGesture(TapGesture().onEnded {
          print("Textfield pressed")
        })
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.