很抱歉让我的第一个问题有点简单——我花了一天时间阅读了 NSLocale 和 NSCalendar 类的描述,但我看不出这是否可行。
我在 UIDatePickerModeDateAndTime 模式下有一个 UIDatePicker。它当前根据用户的语言环境显示日期和时间,这是默认行为。
我希望能够提供以 12 小时或 24 小时时间格式显示 UIDatePicker 的选项。检测用户当前使用的时间格式不是问题,但我不清楚如何在不完全丢弃用户的区域设置的情况下仅更改 UIDatePicker 的时间格式(因为选择器还显示周和月)。 UIDatePicker 支持设置其语言环境和设置其日历。
所以,第一个问题是这是否是我应该尝试通过 NSLocale 或 NSCalendar 来做的事情,第二个问题是是否有人可以推荐一种方法来隔离时间格式而不会丢弃用户的其他区域设置。
感谢您的任何建议。
最佳答案
这不是您正在寻找的答案,但在 Cocoa 中,您可以创建一个 NSDateFormatter 并使用 setFormatter 将其附加到 NSDatePicker(它是一个 NSControl)。不幸的是,等效的 iPhone 类 (UIControl) 尚不支持此功能。我向 Apple 提出了一个关于它的错误,这是一个已知问题,尽管他们不会告诉我他们是否/何时计划修复/增强它。
关于objective-c - 将 UIDatePicker 从 12 小时制更改为 24 小时制并返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/969308/