Jer*_*emy 2 ios swift swiftui ios14
在我的 SwiftUI 应用程序中,我希望在TextEditor失去焦点/完成编辑时收到通知。理想情况下,类似 的TextField回调onCommit将是完美的。
使用下面的 newonChange确实可以接收用户输入的每个新字符,但我真的想知道它们何时完成。
@State var notes = ""
...
TextEditor(text: $notes)
.onChange(of: notes, perform: { newString in
print(newString)
})
Run Code Online (Sandbox Code Playgroud)
我明白了,你可以使用UIResponder.keyboardWillHideNotification.
TextEditor(text: $notes)
.onReceive(NotificationCenter.default.publisher(for: UIResponder.keyboardWillHideNotification)) { _ in
print("done editing!")
}
Run Code Online (Sandbox Code Playgroud)
在 iOS 15.0 上,现在有@FocusState。
struct MyView: View {
@State var text: String
@FocusState private var isFocused: Bool
var body: some View {
Form {
TextEditor(text: $text)
.focused($isFocused)
.onChange(of: isFocused) { isFocused in
// do stuff based off focus state change
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3732 次 |
| 最近记录: |