Default Date for UIDatePicker in iOS

I am new in iOS development. I have this ViewController in my Storyboard (includes a UIDatePicker and a bar button):

enter image description here

  • App architecture when 'state changing' APNS fails
  • Different Navigation Bar Button Items in different child viewcontrollers from two container views?
  • UIBarButtonItem with Image
  • UIGestureRecognizer on UIImageView
  • Xcode: How to show GPS strength value?
  • could NaN be causing the occasional crash in this core audio iOS app?
  • I followed Data Cell to call my DatePicker. When user click on a button in the page PickerDate pops up with a done bar button on the navigation bar:

    enter image description here

    The problem is it shows just the current date as default. Nothing changes when I set it from Properties:

    enter image description here

    Do you know how can I fix it? (by setting up the properties or programmatically).

    3 Solutions Collect From Internet About “Default Date for UIDatePicker in iOS”

    I did it programmatically in this way :

    NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
    NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
    [components setYear:1980];
    [components setMonth:1];
    [components setDay:1];
    NSDate *defualtDate = [calendar dateFromComponents:components];
    pickerView.date = defualtDate;
    

    But still don’t know why it doesn’t work by setting up the properties. Any help?

    In Swift:

        let calendar: NSCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)!
        // let calendar: NSCalendar = NSCalendar.currentCalendar()
        calendar.timeZone = NSTimeZone(name: "UTC")!
        let components: NSDateComponents = NSDateComponents()
        components.year = 1980
        components.month = 1 
        components.day = 1
        let defaultDate: NSDate = calendar.dateFromComponents(components)!
        self.dateOfBirthUIDatePicker.date = defaultDate
    

    Great answers above – Here’s the Swift3 (Feb 17) version:

     let calendar: NSCalendar = NSCalendar(calendarIdentifier:  .gregorian)!
            calendar.timeZone = NSTimeZone(name: "UTC")! as TimeZone
            let components: NSDateComponents = NSDateComponents()
            components.year = 1980
            components.month = 1
            components.day = 1
            let defaultDate: NSDate = calendar.date(from: components as DateComponents)! as NSDate
            self.datePicker.date = defaultDate as Date