你的位置:首页 > 操作系统

[操作系统]UIDatePicker


//UIDatePicker初始化  不用设置宽高,因为它的宽高是固定的
UIDatePicker *datePicker=[[UIDatePicker alloc]init];

Locale
设置DatePicker的地区,即设置DatePicker显示的语言。
1.跟踪所有可用的地区,取出想要的地区
 NSLog(@"%@", [NSLocale availableLocaleIdentifiers]);
 
2. 设置日期选择控件的地区
[datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh_Hans_CN"]];

[datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"en_SC"]];

Calendar
设置DatePicker的日历。默认为当天。
[datePicker setCalendar:[NSCalendar currentCalendar]];
 
timeZone
设置DatePicker的时区。
默认为设置为:[datePicker setTimeZone:[NSTimeZone defaultTimeZone]];
 
date
设置DatePicker的日期。
默认设置为: [datePicker setDate:[NSDate date]];
 
minimumDate
设置DatePicker的允许的最小日期。
 NSDate* minDate = [[NSDate alloc]initWithString:@"1900-01-01 00:00:00 -0500"];  
datePicker.minimumDate = minDate; 

maximumDate
设置DatePicker的允许的最大日期。
NSDate* maxDate = [[NSDate alloc]initWithString:@"2099-01-01 00:00:00 -0500"];
 datePicker.maximumDate = maxDate;
countDownDuration
设置DatePicker的倒计时间.
 1) 设置日期选择的模
 [datePicker setDatePickerMode:UIDatePickerModeCountDownTimer];
    UIDatePickerModeTime, //显示小时,分钟和AM/PM,这个的名称是根据本地设置的         
    UIDatePickerModeDate, //显示年月日,名称根据本地设置的         
    UIDatePickerModeDateAndTime,//显示日期,小时,分钟,和AM/PM,名称是根据本地设置的    
    UIDatePickerModeCountDownTimer, //显示小时和分钟

 2) 设置倒计时的时长
注意:设置倒计时时长需要在确定模式之后指定
 // 倒计时的时长,以秒为单位
[datePicker setCountDownDuration:10 * 60];
  
 
minuteInterval
你可以将分钟表盘设置为以不同的时间间隔来显示分钟,前提是该间隔要能够让60整除。默认间隔是一分钟。如果要使用不同的间隔,需要改变 minuteInterval属性:
// 设置分钟间隔
    datePicker.minuteInterval = 15;
 

UIDatePicker监听值的改变
[datePicker addTarget:self action:@selector(dateChange:)forControlEvents:UIControlEventValueChanged];
 
11.2 如果两个日期范围属性中任何一个未被设置,则默认行为将会允许用户选择过去或未来的任意日期。这在某些情况下很有用处,比如,当选择生日时,可以是过去的任意日期,但终止与当前日期。如果你希望设置默认显示的日期,可以使用date属性:
 datePicker.date = minDate;
 
用 setDate 方法,如果选择了使用动画,则表盘会滚动到你指定的日期:
 [ datePicker setDate:maxDate animated:YES];


获取datepicker时间,并设置显示样式
    NSDate *thedate=self.datePicker.date;
    NSDateFormatter *dateforMatter=[[NSDateFormatter alloc]init];
    [dateforMatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
    NSLog(@"%@",[dateforMatter stringFromDate:thedate]);