lex*_*lex 3 datetimepicker swift swiftui
我希望我的标题足够不言自明。我有一个小时和分钟时间选择器,其中每一分钟都单独显示。我想要的是只显示“00”和“30”分钟。这是可以实现的吗?
我用于时间选择器的代码:
DatePicker("", selection: $selectedStartHour, displayedComponents: .hourAndMinute)
.datePickerStyle(CompactDatePickerStyle())
.labelsHidden()
.clipped()
Run Code Online (Sandbox Code Playgroud)
发表的评论是错误的。您当然可以使用一行代码来完成此操作:
UIDatePicker.appearance().minuteInterval = 30
Run Code Online (Sandbox Code Playgroud)
问题是,现在整个应用程序中的所有时间选择器都将以 30 分钟为增量。为了缓解这个问题,您可以使用 .onAppear 和 .onDisappear,如下所示:
.onAppear {
UIDatePicker.appearance().minuteInterval = 30
}
.onDisappear {
UIDatePicker.appearance().minuteInterval = 1
}
Run Code Online (Sandbox Code Playgroud)
现在,当您的视图出现时,选择器将设置为 30 分钟增量。当视图消失时,它将设置回默认的 1 分钟增量。
现在,您可以轻松控制每个视图显示的时间增量。
| 归档时间: |
|
| 查看次数: |
2008 次 |
| 最近记录: |