在我的快捷应用程序中,我有两个文本字段,而作为inputView的是UIDatePicker()。 这是我的代码:
class ViewController: UIViewController {
@IBOutlet weak var textField1: UITextField!
@IBOutlet weak var textField2: UITextField!
var timePicker = UIDatePicker()
var timeString = String()
override func viewDidLoad() {
super.viewDidLoad()
timePicker.datePickerMode = .time
}
@objc func formatData(_ datePickerView: UIDatePicker) {
let timeFormatter = DateFormatter()
timeFormatter.timeStyle = .short
timeString = timeFormatter.string(from: datePickerView.date)
}
@IBAction func textFieldChanged(_ sender: UITextField) {
sender.inputView = timePicker
timePicker.addTarget(self, action: #selector(formatData(_:)), for: .valueChanged)
sender.text = timeString
}
}
通过这种方式将值更改为文本字段,我必须取消选择它,然后在其上重新输入值,然后出现。 但这是不正确的。
答案 0 :(得分:-1)
首先,获取要更改输入视图的文本字段的IBAction,名称应为IBAction方法didBeginEditing的名称,在该方法中,您可以更改要更改的文本字段的输入视图