如何在SwiftUI中给DatePicker一分钟的间隔

时间:2019-11-21 13:56:36

标签: swift swiftui

有人知道如何给分钟DatePicker间隔时间吗?我正在尝试仅显示15的倍数(0、15、30、45)。只能通过与UIKit进行接口吗?

我相信它没有使用in: ...Date()部分,至少我想不出解决方案。这是我的代码段:

DatePicker(
                "",
                selection: $selectedDate,
                /*in: ...Date(),*/
                displayedComponents: .hourAndMinute
            )

非常感谢!

1 个答案:

答案 0 :(得分:0)

使用两个选择器,一个选择一个小时,一个选择一个分钟,然后再转换为Date()怎么办?它不是很漂亮,但这是其中的一部分:

struct ContentView: View {
    @State private var hour = 1
    @State private var minute = 0

    let minutes = [0, 15, 30, 45]

    var body: some View {
        GeometryReader { geometry in
            HStack {
                Picker("Hour", selection: self.$hour) {
                    ForEach(1...12, id: \.self) {
                        Text("\($0)")
                    }
                }
                .labelIsHidden()
                .frame(maxWidth: geometry.size.width / 4)
                .clipped()

                Picker("Minutes", selection: self.$minute) {
                    ForEach(self.minutes, id: \.self) { minute in
                        Text(minute == 0 ? " : 0\(minute)" : " : \(minute)")
                    }
                }
                .labelIsHidden()
                .frame(maxWidth: geometry.size.width / 4)
                .clipped()

            }
        }
    }
}