你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS開發中UIDatePicker控件的使用方法簡介

iOS開發中UIDatePicker控件的使用方法簡介

編輯:IOS開發綜合

iOS上的選擇時間日期的控件是這樣的,左邊是時間和日期混合,右邊是單純的日期模式。

 

201511892806120.png (321×214)您可以選擇自己需要的模式,Time, Date,Date and Time  , Count Down Timer四種模式。

201511892826005.png (686×434)

本篇文章簡單介紹下PickerDate控件的使用
1、新建一個Singe View Application,命名為DatePickDemo,其他設置如圖

201511892852672.png (728×491)

2、放置控件
打開ViewController.xib,拖拽一個DatePicker控件放到界面上,再拖拽一個Button控件放到界面上,雙擊Button,輸入"選擇日期時間"

201511892914700.png (339×503)

3、建立xib和ViewController的關聯
按下command+alt+enter鍵打開Assistant Editor,選中DatePicker按住Control鍵,拖拽到viewController.h上,

201511892950065.png (634×183)

建立Outlet datePicker。
以同樣方式給Button建立一個Action關聯映射,命名為selectDate,事件類型為默認的Touch Up Inside。
4、實現代碼
單擊ViewController.m,找到剛才創建的
復制代碼 代碼如下:
- (IBAction)selectDate:(id)sender {
}

在這裡添加響應代碼
復制代碼 代碼如下:
- (IBAction)selectDate:(id)sender {
    NSDate *select = [datePicker date];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
    NSString *dateAndTime =  [dateFormatter stringFromDate:select];
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"時間提示" message:dateAndTime delegate:self cancelButtonTitle:@"確定" otherButtonTitles:nil, nil];
    [alert show];
}

運行看效果:

201511893012053.png (368×716)

5、修改模式成Date模式,修改代碼

復制代碼 代碼如下:
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];


201511893036923.png (368×716)

常用參數
上面已經提到了一些常用參數的使用,下面再來列一下比較常用的幾個:
1.Locale
設置DatePicker的地區,即設置DatePicker顯示的語言。

跟蹤所有可用的地區,取出想要的地區
復制代碼 代碼如下:
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]];

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];

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved