首页 > 解决方案 > Swiftui iOS14.5 键盘隐藏了 DatePicker 但非常适合 TextField

问题描述

在 ScrollView 中单击 TextField 时,会出现键盘,并且 TextField 会按预期完美地向上移动。

Time 1 DatePicker 完全被键盘隐藏,而 Time 2 DatePicker 不隐藏但没有键盘,除非再次单击。

TextField vs DatePicker 行为

如何让 DatePicker 的键盘与 TextField 的行为相同?

struct SwiftUIView: View {
@State private var text = ""
@State private var date = Date()

var body: some View {
    ScrollView {
        VStack {
            ForEach(0..<15) { i in
                TextField("TextField \(i): ", text: $text)
                    .textFieldStyle(.roundedBorder)
            }
            DatePicker("Time 1: ", selection: $date, displayedComponents: .hourAndMinute)
                .environment(\.locale, .init(identifier: "en_GB"))
                .datePickerStyle(GraphicalDatePickerStyle())
            
            DatePicker("Time 2: ", selection: $date, displayedComponents: .hourAndMinute)
                .environment(\.locale, .init(identifier: "en_GB"))
        }
        .padding()
    }
}

}

标签: swiftuidatepickerkeyboard

解决方案


推荐阅读