Watch 日期选择器

一个可定制的 watchOS 和 SwiftUI 日期选择器。

安装

添加 https://github.com/freysie/watch-date-picker 包,然后将 WatchDatePicker 产品添加到你的应用程序的 WatchKit 扩展目标。

概述

DatePicker 视图显示一个带有标题和所选值的按钮。当按下时,它会呈现一个用户界面,用于选择日期、时间或两者。

Watch 日期选择器的设计和感觉与系统自带的日期和时间选择器相似,比如在“闹钟”、“日历”和“提醒事项”等应用程序中看到的,并具有与 SwiftUI 内置的 DatePicker 相匹配的 API。

选择日期和时间

DatePicker(
    "Date & Time",
    selection: $value
)

选择日期

DatePicker(
    "Date",
    selection: $value,
    displayedComponents: .date
)

选择时间

DatePicker(
    "Time",
    selection: $value,
    displayedComponents: .hourAndMinute
)

自定义

DateInputViewTimeInputView,这两个 DatePicker 主要组成的视图,可以单独使用。

日期输入视图

日期输入视图显示三个选择器,用于选择日、月和年。

DateInputView(selection: $value)

日期输入视图使用当前的区域设置来标记和排序日-月-年选择器。

DateInputView(selection: $value)
    .environment(\.locale, Locale(identifier: "fr"))

时间输入视图

时间输入视图显示一个时钟拨盘,用于选择小时和分钟。 在使用 AM/PM 时间的区域设置中,将显示 AM/PM 按钮,否则使用 24 小时模式。

TimeInputView(selection: $value)

无论区域设置如何,都可以显式启用或禁用 24 小时模式。

TimeInputView(selection: $value)
    .timeInputViewTwentyFourHourMode()

TimeInputView(selection: $value)
    .timeInputViewTwentyFourHourMode(false)

可以隐藏 24 小时模式指示器。

TimeInputView(selection: $value)
    .timeInputViewTwentyFourHourMode()
    .timeInputViewTwentyFourHourIndicator(.hidden)

请参阅文档以获取更多选项。

本地化

Watch Date Picker 适用于 watchOS 支持的所有语言:阿拉伯语、保加利亚语、加泰罗尼亚语、中文(简体)、中文(繁体)、克罗地亚语、捷克语、丹麦语、荷兰语、英语、芬兰语、法语、德语、希腊语、希伯来语、印地语、匈牙利语、印度尼西亚语、意大利语、日语、哈萨克语、韩语、马来语、挪威语、波兰语、葡萄牙语(巴西)、葡萄牙语(葡萄牙)、罗马尼亚语、俄语、斯洛伐克语、西班牙语、西班牙语(拉丁美洲)、瑞典语、泰语、土耳其语、乌克兰语和越南语。

翻译基于 Apple 的词汇表,因此它们在每个区域设置中都应该感觉很自然。

运行脚本来为 每个区域设置和屏幕尺寸拍摄屏幕截图,以确保所有内容都正确呈现。