swiftui - SwiftUI TextEditor 如何隐藏键盘
问题描述
我对 TextEditor 有问题,在 Texteditor 上编辑文本后无法隐藏键盘。
@State var monTexte: String = "
var body: some View {
VStack {
Spacer()
.frame(height :15)
.clipped()
Text("Project ")
.font(Font.system(size: 39.00))
.fontWeight(.black)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)
.padding(.all, 16.0)
.clipped()
TextEditor(text: $monTexte)
.keyboardType(.alphabet)
.font(.subheadline)
.padding(.horizontal)
.font(Font.system(size: 38.00))
.frame(minWidth: 10, maxWidth: .infinity, minHeight: 10, maxHeight: 200, alignment: .topLeading)
.border(Color.black)
.clipped()
}
}
}
我找到了一种使用文本字段而不是使用 TextEditor Coule 隐藏键盘的方法,请您帮帮我
解决方案
谢谢“Asperi”,它使用下面的代码工作:
var body: some View {
VStack {
Spacer()
.frame(height :15)
.clipped()
Text("Project ")
.font(Font.system(size: 39.00))
.fontWeight(.black)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)
.padding(.all, 16.0)
.clipped()
HStack {
Spacer()
Button("Close Keyboard") {
UIApplication.shared.endEditing()
}.font(Font.system(size: 20))
.foregroundColor(Color.blue)
}.clipped()
TextEditor(text: $monTexte)
.keyboardType(.alphabet)
.font(.subheadline)
.padding(.horizontal)
.font(Font.system(size: 38.00))
.frame(minWidth: 10, maxWidth: .infinity, minHeight: 10, maxHeight: 200, alignment: .topLeading)
.border(Color.black)
.clipped()
}
}
}
//----------------------------------------------------//
// Masquer le clavier
//----------------------------------------------------//
extension UIApplication {
func endEditing() {
sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
}
}```
推荐阅读
- c# - Azure Key Vault 是否适合存储在客户端应用程序上生成的加密密钥?
- python - 继承放心python
- elasticsearch - 无法使用 CLI 更新 ElasticSearch 访问策略
- ruby - 为什么 'unset http_proxy' 在 Rakefile 中不起作用
- spring-cloud-contract - Spring Cloud Contract 生成存根和具有相同存根的独立服务器
- python - pandas groupby 计算一列中零的数量
- scala - 如何在 Spark Scala 中读取 utf-8 编码文件
- python - 在 Pygame 中从组中识别单个精灵
- java - 通过 ews-java-api 获取电子邮件的 TextBody
- angular - 带有 Firebase 的 Angular 无法访问数据