I added a toolbar with done and cancel button but the buttons are not appearing on the toolbar. I could not find the cause of this issue. i tried many changes but the issue is not resolved.
This is the code regarding the toolbar:
@IBOutlet weak var textFieldYear: UITextField!
@IBOutlet weak var viewMonth: UIView!
@IBOutlet weak var textFieldMonth: UITextField!
@IBOutlet weak var viewDatePicker: UIView!
@IBOutlet weak var datePicker: UIPickerView!
func setUpDatePickerView(){
let date = Date()
arrYear.add(date.year)
if date.month == "November" || date.month == "December" {
let newDate = Calendar.current.date(byAdding: .year, value: 1, to: date)
arrYear.add(newDate?.year ?? "")
}
let toolBar = UIToolbar().ToolbarPiker(mySelect: #selector(self.donePicker), cancel: #selector(self.dismissPicker))
viewDatePicker.addSubview(toolBar)
datePicker.reloadAllComponents()
datePicker.selectRow(0, inComponent: 0, animated: true)
textFieldYear.text = (arrYear[0] as! String)
textFieldMonth.text = Calendar.current.date(byAdding: .month, value: 1, to: Date())?.month
}
// ToolBar
extension UIToolbar {
func ToolbarPiker(mySelect : Selector, cancel : Selector) -> UIToolbar {
let toolBar = UIToolbar()
toolBar.barStyle = UIBarStyle.default
toolBar.isTranslucent = true
toolBar.tintColor = UIColor.black
toolBar.sizeToFit()
let doneButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.done, target: self, action: mySelect)
let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.fixedSpace, target: nil, action: nil)
spaceButton.width = 225
let cancelButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.cancel, target: self, action: cancel)
toolBar.setItems([cancelButton, spaceButton, doneButton], animated: false)
toolBar.isUserInteractionEnabled = true
return toolBar
}
}
@objc func donePicker() {
self.view.endEditing(true)
}
@objc func dismissPicker() {
self.view.endEditing(true)
viewDatePicker.isHidden = true
}