作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在显示计时器选择器时遇到问题。有两个文本字段: 1. 第一个打开数字键盘。 2.第二次从 Material 控制中打开时间选择器。
一旦我开始编辑第一个 TF 并且如果我点击第二个 TF,即使我点击完成按钮,数字键盘也不会被关闭。
完成按钮是使用工具栏创建的,该方法包含“view.endEditing”代码。它可以正常工作,但不能在上述情况下。
override func viewDidLoad() {
super.viewDidLoad()
rateInPointsTextField.delegate = self
}
extension MyAvailabilityVC : UITextFieldDelegate{
let toolbar = UIToolbar()
toolbar.sizeToFit()
//done button for toolbaar
let done = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(donePressed))
toolbar.setItems([done], animated: false)
self.rateInPointsTextField.inputAccessoryView = toolbar
@objc func donePressed(){
self.view.endEditing(true)
}
func textFieldDidBeginEditing(_ textField: UITextField) {
if textField == self.fromTimeTextField{
let timePicker = MDTimePickerDialog()
timePicker.delegate = self
timePicker.tag = 100
timePicker.clockMode = .mode12H
timePicker.show()
self.view.endEditing(true)
}
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
self.rateInPointsTextField.resignFirstResponder()
return true
}
}
最佳答案
确认UITextFieldDelegate
在您的 View Controller 中并将 TF 委托(delegate)设置为 self
class YourViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var your_tf: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
your_tf.delegate = self;
}
....
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
}
textFieldShouldReturn(your_tf)
像这样。
...
@objc func donePressed(){
textFieldShouldReturn(your_tf)
}
关于ios - 显示 MDTimePicker 时键盘未关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60450098/
我在显示计时器选择器时遇到问题。有两个文本字段: 1. 第一个打开数字键盘。 2.第二次从 Material 控制中打开时间选择器。 一旦我开始编辑第一个 TF 并且如果我点击第二个 TF,即使我点击
我是一名优秀的程序员,十分优秀!