Add a Done button within a pop-up datePickerView in Swift?

前端 未结 5 747
轮回少年
轮回少年 2020-12-08 16:32

I want to add a Done button within a popped up datePickerView in Swift.

Here is the code:

@IBOutlet var datePicker: UITextField!

@IBAction func date         


        
5条回答
  •  悲&欢浪女
    2020-12-08 17:14

    I made this extension to close the picker. Swift 2

    extension UIToolbar {
    
     func ToolbarPiker(mySelect : Selector) -> UIToolbar {
    
        let toolBar = UIToolbar()
    
        toolBar.barStyle = UIBarStyle.Default
        toolBar.translucent = true
        toolBar.tintColor = UIColor.blackColor()
        toolBar.sizeToFit()
    
        let doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Plain, target: self, action: mySelect)
        let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
    
        toolBar.setItems([ spaceButton, doneButton], animated: false)
        toolBar.userInteractionEnabled = true
    
        return toolBar
    }
    
    }
    

    Swift 3 - 4

    extension UIToolbar {
    
    func ToolbarPiker(mySelect : Selector) -> UIToolbar {
    
        let toolBar = UIToolbar()
    
        toolBar.barStyle = UIBarStyle.default
        toolBar.isTranslucent = true
        toolBar.tintColor = UIColor.black
        toolBar.sizeToFit()
    
        let doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.plain, target: self, action: mySelect)
        let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)
    
        toolBar.setItems([ spaceButton, doneButton], animated: false)
        toolBar.isUserInteractionEnabled = true
    
        return toolBar
    }
    
    }
    

    And you can use it simply in your viewController:

      override func viewDidLoad() {
        super.viewDidLoad()
    
     //SWIFT2
     /*
    let toolBar = UIToolbar().ToolbarPiker(#selector(MyViewController.dismissPicker))
    
     */
    // Swift3 - 4
        let toolBar = UIToolbar().ToolbarPiker(mySelect: #selector(MyViewController.dismissPicker))
    
        myTextField.inputAccessoryView = toolBar
    
    
    }
    
     // Swift 2 - 3
     func dismissPicker() { 
    
        view.endEditing(true)
    
    }
    
     // Swift 4
     @objc func dismissPicker() { 
    
        view.endEditing(true)
    
    }
    

提交回复
热议问题