iOS開發中UIDatePicker控制項的使用方法簡介_IOS

來源:互聯網
上載者:User

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

 

您可以選擇自己需要的模式,Time, Date,Date and Time  , Count Down Timer四種模式。

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

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

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

建立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];
}

運行看效果:

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

複製代碼 代碼如下:

    [dateFormatter setDateFormat:@"yyyy-MM-dd"];


常用參數
上面已經提到了一些常用參數的使用,下面再來列一下比較常用的幾個:
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];

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.