Date/Time Pickers

The UIDatePicker class is a subclass of UIPickerView. It allows dates, times, and durations to be selected from a customizable, self-contained picker interface. The date picker automatically configures its columns to conform to the specified style, so there's no low-level work involved in creating new instances. It can also be customized for any range of dates and with any start and end dates.

The UIDatePicker relies heavily on the NSCalendarDate class, which is part of the foundation class set used in Cocoa on the desktop. More information about this class can be found in Apple's Cocoa reference on the Apple Developer Connection web site. For the purpose of the examples used here, we'll create an NSCalendarDate using its simplest method, initWithString.

NSCalendarDate * myDate = [ [ NSCalendarDate alloc ]
    initWithString: @"1963-11-22 12:30:00 -0500" ];

Creating the Date/Time Picker

The UIDatePicker is much more straightforward than the standard UIPickerView. It builds its own data source based on the date ranges you specify. To use it, just create the object:

UIDatePicker *datePicker = [ [ UIDatePicker alloc ]
    initWithFrame: CGRectMake(0, 280, 320, 200)];

By default the picker presents the current date and time, and allows the user to select any month and time. Further customizations to the picker's operation are explained in the following subsections.

DatePicker mode

The date picker supports four different selector modes. The mode is set using the setDatePickerMode ...

Get iPhone Open Application Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.