Невозможно добавить время выбора времени в текстовое поле в swift - PullRequest
1 голос
/ 03 июня 2019

Я создал средство выбора времени в оповещении и в действии «ОК». Я хочу добавить выбранное время в отношении текстового поля, и возможно ли скрыть AM, PM из средства выбора времени, если это возможно, как?Мне нужно показать только часы и минуты без AM, PM в окне выбора времени.пожалуйста, помогите мне в коде.

вот мой код:

 func timePicker(){

    let vc = UIViewController()
    vc.preferredContentSize = CGSize(width: 200,height: 200)
    let timePicker = UIDatePicker(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
    let dateFormatter = DateFormatter()
    //dateFormatter.dateFormat = "HH:mm"
    timePicker.datePickerMode = .time

    vc.view.addSubview(timePicker)
    let addTimePickerAlert = UIAlertController(title: "", message: "", preferredStyle: UIAlertController.Style.alert)

    addTimePickerAlert.setValue(vc, forKey: "contentViewController")
    let ok = UIAlertAction(title: "OK", style: .default, handler: { (action) -> Void in

        self.hoursMinutesTextField.text = dateFormatter.string(from: timePicker.date)
        print("time textfield \(self.hoursMinutesTextField.text)")
    })
    let cancelAction = UIAlertAction(title: "Cancel", style: .default, handler: {
        (action : UIAlertAction!) -> Void in
    })
    addTimePickerAlert.addAction(ok)
    addTimePickerAlert.addAction(cancelAction)

    self.present(addTimePickerAlert, animated: true)
}

func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool 
{

 self.timePicker()
    return true
}

пожалуйста, помогите мне в коде

Ответы [ 2 ]

2 голосов
/ 03 июня 2019

Вы пропустили установку dateFormat на dateFormatter, поэтому вы получаете ""

Раскомментируйте эту строку в своем коде как его работу

dateFormatter.dateFormat = "hh:mm" // 04:57

dateFormatter.dateFormat = "HH:mm" // 16:57

Вывод:

enter image description here

1 голос
/ 03 июня 2019

В настройках сборщика измените язык на 24 часа:

timePicker.locale = Locale(identifier: "en_GB")
...