UIDatePicker in Swift 3 and Swift 4 example iOS

Mr.Javed Multani
2 min readOct 25, 2019

--

In Swift 3 You can use

  1. Create Simple Project of Single View Application in swift 3
  2. Drag a text field & connect to viewController
  3. Date picker look like image

UIDatePicker in Swift 3 and Swift 4 example.

In Swift 3 You can use

  1. Create Simple Project of Single View Application in swift 3
  2. Drag a text field & connect to viewController
  3. Date picker look like image

ViewController code is below.

class ViewController: UIViewController {
//Text Field Connection
@IBOutlet weak var txtDatePicker: UITextField!
//Uidate picker
let datePicker = UIDatePicker()

override func viewDidLoad() {
super.viewDidLoad()
//show date picker
showDatePicker()
}


func showDatePicker(){
//Formate Date
datePicker.datePickerMode = .date

//ToolBar
let toolbar = UIToolbar();
toolbar.sizeToFit()

//done button & cancel button
let doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.bordered, target: self, action: "donedatePicker")
let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)
let cancelButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.bordered, target: self, action: "cancelDatePicker")
toolbar.setItems([doneButton,spaceButton,cancelButton], animated: false)

// add toolbar to textField
txtDatePicker.inputAccessoryView = toolbar
// add datepicker to textField
txtDatePicker.inputView = datePicker

}

func donedatePicker(){
//For date formate
let formatter = DateFormatter()
formatter.dateFormat = "dd/MM/yyyy"
txtDatePicker.text = formatter.string(from: datePicker.date)
//dismiss date picker dialog
self.view.endEditing(true)
}

func cancelDatePicker(){
//cancel button dismiss datepicker dialog
self.view.endEditing(true)
}
}

In Swift 4 you can use below code:

class ViewController: UIViewController {

@IBOutlet weak var txtDatePicker: UITextField!
let datePicker = UIDatePicker()

override func viewDidLoad() {
super.viewDidLoad()
showDatePicker()
}


func showDatePicker(){
//Formate Date
datePicker.datePickerMode = .date

//ToolBar
let toolbar = UIToolbar();
toolbar.sizeToFit()
let doneButton = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(donedatePicker));
let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)
let cancelButton = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(cancelDatePicker));

toolbar.setItems([doneButton,spaceButton,cancelButton], animated: false)

txtDatePicker.inputAccessoryView = toolbar
txtDatePicker.inputView = datePicker

}

@objc func donedatePicker(){

let formatter = DateFormatter()
formatter.dateFormat = "dd/MM/yyyy"
txtDatePicker.text = formatter.string(from: datePicker.date)
self.view.endEditing(true)
}

@objc func cancelDatePicker(){
self.view.endEditing(true)
}
}

For more about iOS development : https://medium.com/@javedmultani16

Some useful codes and libraries: https://github.com/javedmultani16

Know more about me: https://www.linkedin.com/in/javedmultani16/

--

--

Mr.Javed Multani
Mr.Javed Multani

Written by Mr.Javed Multani

Software Engineer | Certified ScrumMaster® (CSM) | UX Researcher | Youtuber | Tech Writer

Responses (2)