Ada*_*hus 1 touch textfield gesture swift swiftui
如何检测何时点击 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")
}
}
}
Run Code Online (Sandbox Code Playgroud)
当 TextField 被点击时,它不会打印“Textfield press”。我猜这是因为在 TextField 手势检测到点击之前,TextField 已经拾取了它。
代替 Taping,您可以TextField轻松检测何时在内部聚焦onEditingChanged:
TextField("Fill in Text", text: $field, onEditingChanged: { focused in
print(focused ? "focused" : "unfocused")
}
Run Code Online (Sandbox Code Playgroud)
修改.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")
})
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2515 次 |
| 最近记录: |