首页 > 解决方案 > 如何在 SwiftUI 中手动显示 DatePicker

问题描述

我想在 SwiftUI 中显示一个 DatePicker。但是 SwiftUI 没有自定义 DatePicker 的样式等,字体大小,字体颜色的接口。所以我想用一个按钮来显示 DatePicker。单击此按钮后,将出现 SwiftUI DatePicker。

有什么方法可以实现吗?

struct ContentView: View {

    @State private var date = Date()

    var body: some View {
        VStack {
            ZStack() {
                DatePicker(selection: $date, in: ...Date(), displayedComponents: .date) {
                    Text("")
                }
                .opacity(0.01)
                HStack() {
                    Text("Start Time")
                    Spacer()
                    Button("2021-08-22") {
                        print("Button was tapped")
                        // present DatePicker...
                    }
                }
            }
            .frame(height: 44)
            .padding(.horizontal, 20)
        }
    }
}

标签: swiftuidatepicker

解决方案


我找到了如下解决方案:

struct ContentView: View {

    @State private var date = Date()

    var body: some View {
        VStack {
            ZStack() {
                HStack() {
                    Text("Start Time")
                    Spacer()
                    Text("2021-08-22")
                }
                DatePicker(selection: $date, in: ...Date(), displayedComponents: .date) {
                    Text("")
                }
                .opacity(0.011)
            }
            .frame(height: 44)
            .padding(.horizontal, 20)
        }
    }
}

推荐阅读