ios - UIDatePicker 中的工具栏按钮仅在双击 TextField 后显示
问题描述
我想让用户设置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
控制台中的文本“开始工作”时,工具栏按钮仍然隐藏。
解决方案
推荐阅读
- c# - Pan-able image jitters when moved
- charts - Make Highcharts pick a smart y-axis min
- keras - keras 和 tensorflow 的导入似乎破坏了 pycharm
- reactjs - React - 使用 Jest 进行前端组件测试
- javascript - How do i convert this code from v3# to v4#?
- c# - 使用带有 RSA 不对称参数的 X509Certificate 进行签名时,如何强制 CmsSigner 使用 RSASSA-PSS (RsaPss)
- grid - 为什么我的基础电子邮件宽度扩大到 100%?
- asp.net - Is there a way to, when pressing Enter key, save the data directly on database using slickgrid?
- android - Firebase RealTime-Database for Users
- go - Doesn't see public functions of a struct Golang