我已经在警报和正常操作中创建了时间选择器,我想将选定的时间添加到有关文本字段,是否可以从时间选择器中隐藏上午、下午,如果可能的话如何?我只需要显示没有 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
}
请帮我写代码
最佳答案
您错过了将 dateFormat
设置为 dateFormatter
这就是您得到 ""
在你的代码中取消注释这一行
dateFormatter.dateFormat = "hh:mm" // 04:57
dateFormatter.dateFormat = "HH:mm" // 16:57
输出:
关于ios - 无法快速将时间选择器时间添加到文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56425570/