swift - 在 UIToolBar 中实现 "done"按钮来关闭 UIDatePicker 和 ToolBar

标签 swift button datepicker toolbar

我想通过按下工具栏中的“完成”按钮来关闭我的 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)

但是错误信息是:

Value of type 'ViewController' has no member 'donePressed'

如何更改操作或如何实现有效的按钮?

最佳答案

在你的代码中添加这个

@objc
func donePressed(_ sender: UIButton) {

 }

关于swift - 在 UIToolBar 中实现 "done"按钮来关闭 UIDatePicker 和 ToolBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56771938/

相关文章:

jquery - 如何向日期选择器添加箭头?

ios - View Controller 的最佳组织

java - Android如何防止软键盘并将按钮定义为textEdits的输入

android - 单击按钮时显示 ListView

ios - 如何为 skView 创建 socket ?

android - DatePicker Android - 如何更改日期的颜色

c++ - 如何设置我的 datetimepicker 日期?

ios - 触摸表格 View 单元格内的按钮时获取对象属性的值

ios - Segue 没有被转入(swift 3)

ios - 来自 UIStoryboardSegueTemplate 的目标 ViewController