首页 > 解决方案 > 无法在 iOS14 中的 UIDatePicker 上设置 24 小时格式

问题描述

当样式设置为 时,我无法设置UIDatePicker为 24 小时格式.compact

当日期选择器的样式设置为或时,我可以将格式设置为 24 小时。.wheels.inline

如以下代码所示,我将日期格式化程序上的语言环境设置为“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风格做点什么?

标签: swiftuikituidatepickertime-format

解决方案


您无法更改UIDatePicker应用程序中的格式。日期选择器的格式与用户在“设置”应用中选择的格式相同。只需转到Settings -> General -> Date and Time更改设备上的格式。


推荐阅读