Я хочу позволить пользователю установить время в UIDatePicker
, которое отображается после нажатия на UITextField
, но панель инструментов с кнопкой «Готово» отображается только тогда, когда пользователь дважды щелкнет по UITextField
.
func showDatePicker(){
//Formate Date
datepickerView.datePickerMode = .time
//ToolBar
let toolbar = UIToolbar();
toolbar.sizeToFit()
let doneButton = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(donedatePicker));
toolbar.setItems([doneButton], animated: false)
workHoursStartTextField.inputAccessoryView = toolbar
}
@objc func doneButtonDatePicker(){
let formatter = DateFormatter()
formatter.dateFormat = "HH:mm"
workHoursStartTextField.text = formatter.string(from: datepickerView.date)
self.view.endEditing(true)
}
@objc func tapOnStartWork(gestureReconizer: UITapGestureRecognizer) {
print("Start work")
datepickerView.isHidden = false
showDatePicker()
}
ивызывающий метод
override func viewDidLoad() {
super.viewDidLoad()
let tapStartWork = UITapGestureRecognizer(target: self, action: #selector(tapOnStartWork(gestureReconizer:)))
workHoursStartTextField.addGestureRecognizer(tapStartWork)
}
Когда я нажимаю UITextField
, в консоли печатается текст «Начать работу», но кнопка на панели инструментов по-прежнему скрыта.