ios - 在 iOS13 中点击日期选择器不会弹出选择器视图
问题描述
在应用程序中,当我点击UITextField
应该给我一个UIDatePicker
不显示我UIDatePicker
更新 iPhone 到iOS 13
. 适用于iOS 12+
版本。
我正在研究最新的Xcode 11
和macOS Mojave 10.14.6
这是我正在使用的代码:
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
let dateString: String!
activeTextField = textField
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
if activeTextField == fromDateTextField && fromDateTextField.text != "" {
dateString = fromDateTextField.text
let date = dateFormatter.date(from: dateString!)
datePickerView.setDate(date!, animated: false)
} else if activeTextField == toDateTextField && activeTextField.text != "" {
dateString = toDateTextField.text
let date = dateFormatter.date(from: dateString!)
datePickerView.setDate(date!, animated: false)
}
UIView.animate(withDuration: 0.3) {
self.datePickerContainerView.frame = CGRect(x: 0,
y: UIScreen.main.bounds.size.height - 250,
width: UIScreen.main.bounds.size.width,
height: 250)
}
return false
}
解决方案
这对我有用:初始化:让选择器 = UIDatePicker() 并在 viewDidLoad 中调用 createToolbar 函数
func createToolbar() {
let toolbar = UIToolbar()
toolbar.sizeToFit()
let doneButton = UIBarButtonItem(title: "Set Date", style: .done, target: nil, action: #selector(showDate))
toolbar.setItems([doneButton], animated: false)
fromDateTextField.inputAccessoryView = toolbar
fromDateTextField.inputView = picker
toDateTextField.inputAccessoryView = toolbar
toDateTextField.inputView = picker
picker.datePickerMode = .date
}
@objc func showDate() {
let dateFormat = DateFormatter()
dateFormat.dateFormat = "dd-MM-yyyy"
let string = dateFormat.string(from: picker.date)
if fromDateTextField.isFirstResponder {
fromDateTextField.text = string
}
if toDateTextField.isFirstResponder {
toDateTextField.text = string
}
self.view.endEditing(true)
}
谢谢@rmmaddy 的输入:)
推荐阅读
- c# - 在 ListView 中切换不会触发
- c# - HTTP 触发 azure 函数在本地不运行时出现问题
- ios - Crashlytics Flutter iOS:不记录 RAM 和磁盘空闲数据
- bash - Bash:按字符串调用数组项
- python - 数据框映射练习
- javascript - Nuxt 异步数据未显示返回数据
- html - Bootstrap 4 data-toggle="tab" 不改变内容
- google-drive-api - videoMediaMetadata 的可用性
- python - 如何在 Django 模板的 for 循环中使用 2dicts?
- javascript - Django/jQuery-从多个按钮获取提交按钮值