SwiftUI TextEditor可以通过使用.resignFirstResponder()方法来隐藏键盘。该方法可以在TextEditor上的onTapGesture处理程序中调用,以便在点击TextEditor时隐藏键盘。以下是一个示例代码:
import SwiftUI
struct ContentView: View {
@State private var text = ""
var body: some View {
VStack {
TextEditor(text: $text)
.onTapGesture {
hideKeyboard()
}
}
}
private func hideKeyboard() {
UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
}
}
在上面的示例中,我们创建了一个包含TextEditor的视图,并在TextEditor上添加了一个onTapGesture处理程序。当用户点击TextEditor时,hideKeyboard()方法将被调用,该方法使用UIApplication.shared.sendAction()方法来发送一个resignFirstResponder的动作,从而隐藏键盘。
这是一个简单的解决方案,适用于隐藏键盘的基本需求。如果你需要更复杂的键盘控制功能,可以使用第三方库或自定义键盘视图来实现。
领取专属 10元无门槛券
手把手带您无忧上云