給iOS開發新手送點福利,簡述UIDatePicker的用法

徐明清發表於2014-09-16

1.Locale

設定DatePicker的地區,即設定DatePicker顯示的語言。

1.跟蹤所有可用的地區,取出想要的地區

 NSLog(@"%@", [NSLocale availableLocaleIdentifiers]);

 

2. 設定日期選擇控制元件的地區

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

效果:

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

效果:

 

 

2.Calendar

設定DatePicker的日曆。

預設為當天。

[datePicker setCalendar:[NSCalendar currentCalendar]];

  

3.timeZone

設定DatePicker的時區。

預設為設定為:[datePicker setTimeZone:[NSTimeZone defaultTimeZone]];

 

4.date

設定DatePicker的日期。

預設設定為: [datePicker setDate:[NSDate date]];

  

5.minimumDate

設定DatePicker的允許的最小日期。

 

6.maximumDate

設定DatePicker的允許的最大日期。

 

7.countDownDuration

設定DatePicker的倒數計時間.

 1) 設定日期選擇的模

 [self.datePicker setDatePickerMode:UIDatePickerModeCountDownTimer];

 2) 設定倒數計時的時長

注意:設定倒數計時時長需要在確定模式之後指定

 // 倒數計時的時長,以秒為單位

[self.datePicker setCountDownDuration: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 locale setting (e.g. 6 | 53 | PM)

顯示小時,分鐘和AM/PM,這個的名稱是根據本地設定的

[datePicker setDatePickerMode:UIDatePickerModeTime];

效果圖:

 

 

9.2    UIDatePickerModeDate,        

 // Displays month, day, and year depending on the locale setting (e.g. November | 15 | 2007)

顯示年月日,名稱根據本地設定的

[datePicker setDatePickerMode:UIDatePickerModeDate];

效果圖:  

9.3 預設是顯示這種模式

    UIDatePickerModeDateAndTime,    // Displays date, hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. Wed Nov 15 | 6 | 53 | PM)

    顯示日期,小時,分鐘,和AM/PM,名稱是根據本地設定的

[datePicker setDatePickerMode:UIDatePickerModeDateAndTime];  

效果圖:

 

 9.4 

  UIDatePickerModeCountDownTimer  // Displays hour and minute (e.g. 1 | 53)

       顯示小時和分鐘

   [datePicker setDatePickerMode:UIDatePickerModeCountDownTimer];

效果圖:

 

10. UIDatePicker使用教程一。

10.1初始化

// 不用設定寬高,因為它的寬高是固定的

UIDatePicker *datePicker = [[UIDatePicker alloc] init];

 

10.2常用設定

// 設定區域為中國簡體中文

datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];

// 設定picker的顯示模式:只顯示日期

datePicker.datePickerMode = UIDatePickerModeDate;

 

10.3UIDatePicker需要監聽值的改變

[datePicker addTarget:self action:@selector(dateChange:)forControlEvents:UIControlEventValueChanged];

 

11.UIDatePicker使用教程二。

11.1日期範圍

你可以通過設定mininumDate 和 maxinumDate 屬性,來指定使用的日期範圍。如果使用者試圖滾動到超出這一範圍的日期,錶盤會回滾到最近的有效日期。兩個方法都需要NSDate 物件作引數:

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;  

 

 

11.2 如果兩個日期範圍屬性中任何一個未被設定,則預設行為將會允許使用者選擇過去或未來的任意日期。這在某些情況下很有用處,比如,當選擇生日時,可以是過去的任意日期,但終止與當前日期。如果你希望設定預設顯示的日期,可以使用date屬性:

 datePicker.date = minDate;
 

11.3 此外,你還可以用 setDate 方法。如果選擇了使用動畫,則錶盤會滾動到你指定的日期:

 [ datePicker setDate:maxDate animated:YES];

 

 

相關文章