【发布时间】:2021-01-17 23:37:14
【问题描述】:
当样式设置为 .compact 时,我无法将 UIDatePicker 设置为 24 小时格式。
当日期选择器的样式设置为 .wheels 或 .inline 时,我可以将格式设置为 24 小时。
如下面的代码所示,我将日期格式化程序上的语言环境设置为“en_GB”以获取 24 小时格式。复制时,模拟器设置为美国作为地区。
如果我不设置语言环境,那么.compact 样式也会显示 AM/PM 选择器,使用下面的代码时不会出现。
这是我的代码,UIDatePicker 被添加为情节提要中的唯一项目:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var datePicker: UIDatePicker!
var dateFormatter = DateFormatter()
override func viewDidLoad() {
super.viewDidLoad()
// setting this should give 24 hr format also in United States region, but it doesn't
dateFormatter.locale = Locale(identifier: "en_GB")
datePicker.locale = dateFormatter.locale
datePicker.datePickerMode = .time
datePicker.preferredDatePickerStyle = UIDatePickerStyle.compact
}
}
我在这里遗漏了什么,还是不能为 .compact 样式完成?
【问题讨论】:
-
尝试在您的设备设置中更改为 24 小时制
-
谢谢,我试过了,它奏效了。但是,如果您的用户遍布世界各地并且您希望在应用程序中强制执行 24 小时格式,那么这不是一个解决方案。还是谢谢!
-
我提交了这个问题的答案。如果对您有帮助,请标记为已接受
标签: swift uikit uidatepicker time-format