UIDatePicker使用
1. Locale
設置DatePicker的地區,即設置DatePicker顯示的語言。
// 1.跟蹤所有可用的地區,取出想要的地區
NSLog(@"%@", [NSLocaleavailableLocaleIdentifiers]);
// 2.設置日期選擇控件的地區
[datePicker setLocale:[[NSLocale
alloc]initWithLocaleIdentifier:@"zh_Hans_CN"]];
// 2) 設置日期選擇控件的地區
[datePicker setLocale:[[NSLocalealloc]initWithLocaleIdentifier:@"en_SC"]];
2. Calendar
設置DatePicker的日歷。
默認為當天。
[datePicker setCalendar:[NSCalendarcurrentCalendar]];
3. timeZone
設置DatePicker的時區。
默認為設置為:[datePicker setTimeZone:[NSTimeZonedefaultTimeZone]];
4. date
設置DatePicker的日期。
默認設置為:[datePicker setDate:[NSDatedate]];
5. minimumDate
設置DatePicker的允許的最小日期。
6. maximumDate
設置DatePicker的允許的最大日期。
7. countDownDuration
設置DatePicker的倒計時間.
// 1) 設置日期選擇的模
[self.datePickersetDatePickerMode:UIDatePickerModeCountDownTimer];
// 2) 設置倒計時的時長
// 注意:設置倒計時時長需要在確定模式之后指定
// 倒計時的時長,以秒為單位
[self.datePickersetCountDownDuration:10 * 60];
8. minuteInterval
你可以將分鐘表盤設置為以不同的時間間隔來顯示分鐘,前提是該間隔要能夠讓60整除。默認間隔是一分鐘。如果要使用不同的間隔,需要改變 minuteInterval屬性:
// 設置分鐘間隔
datePicker.minuteInterval = 15;
9. datePickerMode
9.1
UIDatePickerModeTime, //Displays hour, minute, and optionally AM/PM designation depending on the localesetting (e.g. 6 | 53 | PM)
顯示小時,分鐘和AM/PM,這個的名稱是根據本地設置的
[datePickersetDatePickerMode:UIDatePickerModeTime];
9.2
UIDatePickerModeDate, // Displays month, day, and year depending on the locale setting (e.g.November | 15 | 2007)
顯示年月日,名稱根據本地設置的
[datePickersetDatePickerMode:UIDatePickerModeDate];
9.3 默認是顯示這種模式
UIDatePickerModeDateAndTime, // Displays date, hour, minute, and optionally AM/PMdesignation depending on the locale setting (e.g. Wed Nov 15 | 6 | 53 | PM)
顯示日期,小時,分鐘,和AM/PM,名稱是根據本地設置的
[datePickersetDatePickerMode:UIDatePickerModeDateAndTime];
9.4
UIDatePickerModeCountDownTimer // Displays hour and minute (e.g. 1 | 53)
顯示小時和分鐘
[datePickersetDatePickerMode:UIDatePickerModeCountDownTimer];
10.1初始化
//不用設置寬高,因為它的寬高是固定的
UIDatePicker *datePicker = [[UIDatePickeralloc] init];
10.2常用設置
// 設置區域為中國簡體中文
datePicker.locale= [[NSLocale alloc]
initWithLocaleIdentifier:@"zh_CN"];
//設置picker的顯示模式:只顯示日期
datePicker.datePickerMode =UIDatePickerModeDate;
10.3UIDatePicker需要監聽值的改變
[datePicker addTarget:selfaction:@selector(dateChange:)
forControlEvents:UIControlEventValueChanged];
11.1日期范圍
你可以通過設置mininumDate 和 maxinumDate 屬性,來指定使用的日期范圍。如果用戶試圖滾動到超出這一范圍的日期,表盤會回滾到最近的有效日期。兩個方法都需要NSDate 對象作參數:
1. NSDate* minDate = [[NSDate alloc]initWithString:@"1900-01-01 00:00:00 -0500"];
2. NSDate* maxDate = [[NSDate alloc]initWithString:@"2099-01-01 00:00:00 -0500"];
4. datePicker.minimumDate = minDate;
5. datePicker.maximumDate = maxDate;
11.2如果兩個日期范圍屬性中任何一個未被設置,則默認行為將會允許用戶選擇過去或未來的任意日期。這在某些情況下很有用處,比如,當選擇生日時,可以是過去的任意日期,但終止與當前日期。如果你希望設置默認顯示的日期,可以使用date屬性:
1. datePicker.date = minDate;
11.3 此外,你還可以用 setDate 方法。如果選擇了使用動畫,則表盤會滾動到你指定的日期:
1. [ datePicker setDate:maxDate animated:YES];