2 Star 23 Fork 10

小弟调调/swiftui-example

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
README.md 1.88 KB
一键复制 编辑 原始数据 按行查看 历史

如何创建日期选择器 DatePicker 并从中读取值?

SwiftUI 的 DatePicker 视图类似于 UIDatePicker,并具有用于控制其外观和工作方式的各种选项。 像所有存储值的控件一样,它确实需要绑定到应用程序中的某种状态。

例如,这将创建一个绑定到 birthDate 属性的日期选择器,允许用户选择现在之前的任何日期,然后显示设置的日期选择器的值:

struct ContentView: View {
    let dateFormatter: DateFormatter = {
        let formatter = DateFormatter()
        formatter.dateStyle = .long
        return formatter
    }()

    @State private var birthDate = Date()

    var body: some View {
        VStack {
            DatePicker(selection: $birthDate, in: ...Date(), displayedComponents: .date) {
                Text("Select a date")
            }

            Text("Date is \(birthDate, formatter: dateFormatter)")
        }
    }
}

您可以看到我已将 displayComponents 设置为 .date,但也可以使用 .hourAndMinute 来获取时间数据。

使用 in:... Date() 将日期范围指定为直到当前日期(包括当前日期)的所有内容,但之后不包含任何内容。 您可以使用 in: Date()... 进行相反的操作(即,允许从现在开始的日期),但是如果需要,也可以使用精确范围。

iOS 14 开始,您可以使用新的 GraphicalDatePickerStyle() 获得更高级的日期选择器,该选择器显示日历以及输入精确时间的空间:

struct ContentView: View {
    @State private var date = Date()

    var body: some View {
        VStack {
            Text("Enter your birthday")
                .font(.largeTitle)
            DatePicker("Enter your birthday", selection: $date)
                .datePickerStyle(GraphicalDatePickerStyle())
                .frame(maxHeight: 400)
        }
    }
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Swift
1
https://gitee.com/jaywcjlove/swiftui-example.git
git@gitee.com:jaywcjlove/swiftui-example.git
jaywcjlove
swiftui-example
swiftui-example
main

搜索帮助