реализовать кнопку "Готово" в UIToolBar, чтобы закрыть UIDatePicker и ToolBar - PullRequest
0 голосов
/ 26 июня 2019

Я хочу закрыть свой uidatepicker и мою панель инструментов, нажав кнопку «Готово» на моей панели инструментов.

Я использую метку вместо текстового поля, поэтому общие решения не работают.

Я пробовал:

@IBAction func ButtonPressed(_ sender: UIButton) {
    print("hallo")

    let picker = UIDatePicker()
    picker.backgroundColor = .white
    picker.datePickerMode = .date
    //picker.sizeToFit()


    var datumComponents = DateComponents()
    datumComponents.year = 2019
    datumComponents.month = 6
    datumComponents.day = 1
    let meinStartKalender = Calendar.current
    let StartDatum = meinStartKalender.date(from: datumComponents)

    picker.minimumDate = StartDatum
    picker.maximumDate = Date()
    let pickerSize1 = myView.bounds.width 
    picker.addTarget(self, action: #selector(dueDateChanged(sender:)), for: UIControl.Event.valueChanged)  
    picker.frame = CGRect(x:0.0, y: self.view.frame.height - 300 , width: pickerSize1, height: 200)
    self.view.addSubview(picker)



    let toolBar = UIToolbar()
    toolBar.barStyle = UIBarStyle.default
    toolBar.backgroundColor = .red
    toolBar.frame = CGRect(x:0.0, y: self.view.frame.height - 340 , width: pickerSize1, height: 40)
    self.view.addSubview(toolBar)

что я уже нашел:

добавить:

let doneButton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(self.donePressed(_:)))
toolBar.setItems([doneButton], animated: false)

но сообщение об ошибке гласит:

Значение типа 'ViewController' не имеет члена 'donePressed'

как я могу изменить действие или как реализовать работающую кнопку?

1 Ответ

2 голосов
/ 26 июня 2019

Добавьте это в свой код

@objc
func donePressed(_ sender: UIButton) {

 }
...