ToolBar with DatePicker Demo

//  ViewController.swift
//  ToolBarDatePickerDemo


import UIKit

class ViewController: UIViewController{
    
    @IBOutlet var lblBirthDate: UILabel!

    @IBOutlet var txtBirthDate: UITextField!
    
    var datePicker = UIDatePicker()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        selectDatePicker()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func selectDatePicker()
    {
        datePicker.datePickerMode = .date
        
        
        var components = DateComponents()
        components.year = -50
        let minDate = Calendar.current.date(byAdding: components, to: Date())
        datePicker.minimumDate = minDate
        datePicker.maximumDate = Date()
      //  datePicker.minimumDate = Date()
        let toolBar = UIToolbar()
        toolBar.sizeToFit()
        
        let DoneButton = UIBarButtonItem(title: "Done", style: .done, target: self, action: #selector(buttonPressed))
        
        let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)
        
        let lblName = UILabel()
      //  let viewTemp = UIView()
        lblName.frame = CGRect(x: 50, y: 5, width: 150, height: 30)
        lblName.text = "Select Birthdate"
        lblName.textColor = UIColor.black
        lblName.backgroundColor = UIColor.clear
        lblName.textAlignment = .center
        
        
        let titleButton = UIBarButtonItem(customView: lblName)
       // let title = UIBarButtonItem(title: "Select Birthdate", style: .plain, target: nil, action: nil)
        
        let cansleButton = UIBarButtonItem(title: "Cansle", style: .plain, target: self, action: #selector(buttonCansle))
        
        
        
        toolBar.setItems([cansleButton,spaceButton,titleButton,spaceButton,DoneButton], animated: true)
        
        txtBirthDate.inputAccessoryView = toolBar

        txtBirthDate.inputView = datePicker
        
        toolBar.isUserInteractionEnabled = true
    }
    
    func buttonPressed()
    {
       let dateFormatter = DateFormatter()
        dateFormatter.dateStyle = .long
        dateFormatter.timeStyle = .none
        
        txtBirthDate.text = dateFormatter.string(from: datePicker.date)
        self.view.endEditing(true)
    }
    
    func buttonCansle()
    {
        txtBirthDate.resignFirstResponder()
    }

}


Comments