持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第13天,点击查看活动详情
不怕路远,就怕志短;不怕缓慢,就怕常站;不怕贫穷,就怕惰懒;不怕对手悍,就怕自己颤。
大家好,我是小黑,一个还没秃头的程序员~~~
今天依然继续swiftUI基础控件中的各种选择器,话不多说,正文开始:
DatePicker
DatePicker是用于选择绝对日期的控件。
如果希望提供允许用户选择日历日期和时间(可选)的视图,则使用DatePicker。视图绑定到一个Date实例。 下面的例子创建了一个基本的DatePicker,它在iOS上显示为代表日期的文本。本例将显示日历日期和时间。当用户轻击或单击文本时,一个日历视图就会出现,用户可以从中选择一个日期。点击时间可进行滚动或者输入,当用户拒绝日历视图时,视图将更新绑定的Date。
DatePicker("DatePicker",
selection: $date,
displayedComponents: [.date,.hourAndMinute])
您可以将DatePicker限制在特定的日期范围内,只允许在某个日期之前或之后或两个日期之间进行选择。下面的示例显示了一个日期和时间选择器,它只允许2021年(在UTC时区)内进行选择
@State private var date = Date()
let dateRange: ClosedRange<Date> = {
let calendar = Calendar.current
let startComponents = DateComponents(year: 2021, month: 1, day: 1)
let endComponents = DateComponents(year: 2021, month: 12, day: 31, hour: 23, minute: 59, second: 59)
return calendar.date(from:startComponents)!
...
calendar.date(from:endComponents)!
}()
var body: some View {
DatePicker(
"Start Date",
selection: $date,
in: dateRange,
displayedComponents: [.date, .hourAndMinute]
)
}
要使用不同风格的日期选择器,请使用datePickerStyle(_:)视图修饰符。下面的示例显示了图形化的日期选择器样式。
@State private var date = Date()
var body: some View {
DatePicker(
"Start Date",
selection: $date,
displayedComponents: [.date]
)
.datePickerStyle(GraphicalDatePickerStyle())
}
| 样式 | 说明 |
|---|---|
| DefaultDatePickerStyle | 默认样式 |
| WheelDatePickerStyle | 每一列可滚动的样式 |
| FieldDatePickerStyle | 日期组件变成可编辑 |
| GraphicalDatePickerStyle | 日历或时钟的样式 |
| StepperFieldDatePickerStyle | 相邻的步进可以增加/减少所选组件 |
| DatePickerStyle | 指定视图层次结构中所有日期选择器的外观和交互的类型 |
今天的swiftUI学习分享就到这里,刚开始接触学的慢,但是希望可以吸收进去,为了以后的实战做准备,后面我会持续输出iOS开发笔记,感谢大家的阅读!