我有一个UITextField
,它当前正确显示了DatePickerView
。我试过四处寻找如何添加“完成”按钮,但找不到方法让它工作或注册以关闭DatePicker
。
下面是当有人点击DatePicker
时显示UITextField
的函数:
@IBAction func selectDate(_ sender: UITextField) {
let datePickerView:UIDatePicker = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.date
sender.inputView = datePickerView
datePickerView.addTarget(self, action: #selector(self.datePickerValueChanged), for: UIControlEvents.valueChanged)
}
这里有一个函数可以跟踪任何更改并在
UITextField
func datePickerValueChanged(sender:UIDatePicker) {
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = DateFormatter.Style.short
dateFormatter.timeStyle = DateFormatter.Style.none
birthday.text = dateFormatter.string(from: sender.date)
}
如何向关闭
DatePicker
的特定代码添加按钮?
最佳答案
override func viewDidLoad() {
super.viewDidLoad()
let toolbar = UIToolbar(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 30))
let space = UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: nil, action: nil)
let doneButton = UIBarButtonItem(title: “Done”, style: .Done, target: self, action: Selector(“doneButtonAction”))
var buttons = [UIBarButtonItem]()
buttons.append(space)
buttons.append(doneButton)
toolbar.setItems(buttons, animated: false)
toolbar.sizeToFit()
self.datePickerView.inputAccessoryView = toolbar
}
func doneButtonAction(){
self.view.endEditing(true)
}
关于ios - 无法显示“完成”按钮,该按钮关闭了UITextField中的datePickerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41844956/