Scubadivingfool
Scubadivingfool

Reputation: 1227

Trying to set only time in UIDatePicker in Swift 2.0

I am trying to set the UIDatePicker to come up with the time only. The DatePicker comes up through an action when the textfield is pressed. I have not used the DatePicker Viewer. Any help is appreciated. Thanks

let starttimedatePicker = UIDatePicker()
    startTimeDiveTextField.inputView = starttimedatePicker
    starttimedatePicker.addTarget(self, action: "startTimeDiveChanged:", forControlEvents: .ValueChanged)


func startTimeDiveChanged(sender: UIDatePicker) {
    let formatter = NSDateFormatter()
    formatter.timeStyle = .ShortStyle
    startTimeDiveTextField.text = formatter.stringFromDate(sender.date)
}

Upvotes: 3

Views: 13532

Answers (2)

technerd
technerd

Reputation: 14504

This may help you.

let starttimedatePicker = UIDatePicker()
starttimedatePicker.datePickerMode = UIDatePickerMode.Time
startTimeDiveTextField.inputView = starttimedatePicker
starttimedatePicker.addTarget(self, action: #selector(ViewController.startTimeDiveChanged), forControlEvents: .ValueChanged)


func startTimeDiveChanged(sender: UIDatePicker) {
    let formatter = NSDateFormatter()
    formatter.timeStyle = .ShortStyle
    startTimeDiveTextField.text = formatter.stringFromDate(sender.date)
}

If you are using DatePicker in Storyboard or Xib then set like this.

enter image description here

Upvotes: 6

Marcelo
Marcelo

Reputation: 1196

Try setting its Mode:

starttimedatePicker.datePickerMode = UIDatePickerMode.Time

Upvotes: 17

Related Questions