用戶在 DatePicker 中選擇某個日期后如何隱藏鍵盤?
目前,當我點擊名稱 TextField,然后 - 顯示鍵盤 - 我點擊 DatePicker 時,當 DatePicker 用于選擇日期的彈出視窗出現時,鍵盤隱藏,但在我在 DatePicker 的彈出視窗中選擇某個日期后,鍵盤再次出現。
在 DatePicker 的彈出視窗中提交值后,如何使鍵盤不再出現?
import SwiftUI
struct EditView: View {
@Binding var name: String
@State private var birthday: Date = Date()
@FocusState private var isTextFieldFocused
var body: some View {
Form {
TextField("Name", text: $name)
.focused($isTextFieldFocused)
DatePicker("Birthday", selection: $birthday)
}
}
}
struct EditView_Previews: PreviewProvider {
static var previews: some View {
EditView(name: .constant(String("Joe")))
}
}
uj5u.com熱心網友回復:
FocusState 不是必需的,并添加視圖擴展以隱藏您的鍵盤
struct EditView: View {
@Binding var name: String = ""
@State private var birthday: Date = Date()
//@FocusState private var isTextFieldFocused
var body: some View {
Form {
TextField("Name", text: $name)
DatePicker("Birthday", selection: $birthday)
}
.onTapGesture {
hideKeyboard()
}
}
}
extension View {
func hideKeyboard() {
UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
}
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/442062.html
上一篇:緩沖區中的memcpy復雜結構
