使用UIDatePicker可以简单地实现日前/时刻选择框。日期选择框也是UIKit中提供地富有iPhone特色的控件,有点像加油站的有料计量器。
处理日期和月历:
1.设置DatePicker的日历:
@property(nonatomic, copy) NSCalendar *calendar
例如:
默认为当天。
[datePicker setCalendar:[NSCalendar currentCalendar]];
2.设置DatePicker的日期:
@property(nonatomic, retain) NSDate *date
date属性可以改变显示的时刻/日期。
默认设置为:
[datePicker setDate:[NSDate date]];
3.设置DatePicker的地区,即设置DatePicker显示的语言:
@property(nonatomic, retain) NSLocale *locale
例如:
// 1.跟踪所有可用的地区,取出想要的地区
NSLog(@"%@", [NSLocale availableLocaleIdentifiers]);
// 2. 设置日期选择控件的地区
[datePicker setLocale:[[NSLocale
alloc]initWithLocaleIdentifier:@"zh_Hans_CN"]];
// 2) 设置日期选择控件的地区
[datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"en_SC"]];
4.设置表盘指定的日期,可选择是否添加动画:
- (void)setDate:(NSDate *)date
animated:(BOOL)animated
例如:
[ datePicker setDate:maxDate animated:YES];
5.设置DatePicker的时区:
@property(nonatomic, retain) NSTimeZone *timeZone
默认为设置为:
[datePicker setTimeZone:[NSTimeZone defaultTimeZone]];
配置日期选择器模式:
6.日期选择器模式:
@property(nonatomic) UIDatePickerMode datePickerMode
日期/时间选取器支持4种不同模式的选择方式。通过设置 datePickerMode 属性,可以定义选择模式:
typedef NS_ENUM(NSInteger, UIDatePickerMode) {
UIDatePickerModeTime, // Displays hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. 6 | 53 | PM)
UIDatePickerModeDate, // Displays month, day, and year depending on the locale setting (e.g. November | 15 | 2007)
UIDatePickerModeDateAndTime, // Displays date, hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. Wed Nov 15 | 6 | 53 | PM)
UIDatePickerModeCountDownTimer, // Displays hour and minute (e.g. 1 | 53)
};
UIDatePickerModeTime, 显示小时,分钟和AM/PM,这个的名称是根据本地设置的,例如:
[datePicker setDatePickerMode:UIDatePickerModeTime];
UIDatePickerModeDate, 显示年月日,名称根据本地设置的,例如:
[datePicker setDatePickerMode:UIDatePickerModeDate];
UIDatePickerModeDateAndTime, 显示日期,小时,分钟,和AM/PM,名称是根据本地设置的:
[datePicker setDatePickerMode:UIDatePickerModeDateAndTime];
[datePicker setDatePickerMode:UIDatePickerModeCountDownTimer];
配置时间属性:
7.设置DatePicker的允许的最小/大日期:
@property(nonatomic, retain) NSDate *minimumDate
@property(nonatomic, retain) NSDate *maximumDate
NSDate* minDate = [[NSDate alloc]initWithString:@"1900-01-01 00:00:00 -0500"];
NSDate* maxDate = [[NSDate alloc]initWithString:@"2099-01-01 00:00:00 -0500"];
datePicker.minimumDate = minDate;
datePicker.maximumDate = maxDate;
8.设置时间间隔:
@property(nonatomic) NSInteger minuteInterval
你可以将分钟表盘设置为以不同的时间间隔来显示分钟,前提是该间隔要能够让60整除。默认间隔是一分钟。如果要使用不同的间隔,需要改变 minuteInterval属性:
// 设置分钟间隔
datePicker.minuteInterval = 15;
9.倒计时:
@property(nonatomic) NSTimeInterval countDownDuration
// 1) 设置日期选择的模
[self.datePicker setDatePickerMode:UIDatePickerModeCountDownTimer];
// 2) 设置倒计时的时长
// 注意:设置倒计时时长需要在确定模式之后指定
// 倒计时的时长,以秒为单位
[self.datePicker setCountDownDuration:10 * 60];