UIDatePicker 時間選擇器

一:UIDatePicker的介紹
UIDatePicker是一個控制器類 , 封裝了UIPickerView , 但是他是UIControl的子類 , 專門用于接受日期、時間和持續時長的輸入 。
日期選取器的各列會按照指定的風格進行自動配置 , 這樣就讓開發者不必關心如何配置表盤這樣的底層操作 。
你也可以對其進行定制 , 令其使用任何范圍的日期 。
UIDatePicker這個類的對象讓用戶可以在多個車輪上選擇日期和時間 。
iPhone手機上的‘時鐘’應用程序中的時間與鬧鈴中便使用了該控件 。
使用這個控件時 , 如果你能配置正確 , 當用戶滾動車輪到一個新的日期或者時間上時 , 利用UIControlEventValueChanged觸發事件 。
UIDatePicker給出了倒計時模式 , 但是并沒有實現相關事件 。
如果你使用該模式 , 必須在應用程序中設置一個NSTime對象 , 讓倒計時中的時間不斷減少 。
二:UIDatePicker的使用
2.1創建并添加一個UIDatePicker對象
//
//ViewController.m
//DatePicker
//
#import"ViewController.h"
#defineSCREEN_WIDTH[UIScreenmainScreen].bounds.size.width
#defineSCREEN_HEIGHT[UIScreenmainScreen].bounds.size.height
@interfaceViewController
//創建對象
@property(nonatomic,strong)UIDatePicker*datePicker;
@end
2.2配置UIDatePicker對象
-(void)setupDateKeyPan{
UIDatePicker*datePicker=[[UIDatePickeralloc]init];
//設置地區:zh-中國
datePicker.locale=[NSLocalelocaleWithLocaleIdentifier:@"zh"];
//設置日期模式(Displaysmonth,day,andyeardependingonthelocalesetting)
datePicker.datePickerMode=UIDatePickerModeCountDownTimer;
//設置當前顯示時間
[datePickersetDate:[NSDatedate]animated:YES];
//設置顯示最大時間(此處為當前時間)
[datePickersetMaximumDate:[NSDatedate]];
//設置時間格式
//監聽DataPicker的滾動
[datePickeraddTarget:selfaction:@selector(dateChange:)forControlEvents:UIControlEventValueChanged];
self.datePicker=datePicker;
//設置時間輸入框的鍵盤框樣式為時間選擇器
self.timeTextField.inputView=datePicker;
}
2.3禁止用戶輸入文字
//禁止用戶輸入文字
-(BOOL)textField:(UITextField*)textFieldshouldChangeCharactersInRange:(NSRange)rangereplacementString:(NSString*)string
{
returnNO;
}
2.4顯示文本
-(void)dateChange:(UIDatePicker*)datePicker{
NSDateFormatter*formatter=[[NSDateFormatteralloc]init];
//設置時間格式
formatter.dateFormat=@"yyyy年MM月dd日";
NSString*dateStr=[formatterstringFromDate:datePicker.date];
self.timeTextField.text=dateStr;
}
@end
三:選擇模式
日期/時間選取器持4種不同模式的選擇方式 。
通過設置datePickerMode屬性 , 可以定義選擇模式:
datePicker.datePickerMode=UIDatePickerModeTime;
支持的模式:
UIDatePicker 時間選擇器
文章圖片
四種時間模式樣式截圖如下:
3.1UIDatePickerModeTime
UIDatePicker 時間選擇器
文章圖片
在這種模式下 , 顯示時、分、AM/PM標志(可選) 。 具體的顯示順序取決于設備的本地化設置 。
3.2UIDatePickerModeDate
UIDatePicker 時間選擇器
文章圖片
在這種模式下 , 顯示年、月、日 。 具體的顯示順序取決于設備的本地化設置 。
3.3UIDatePickerModeDateAndTime
UIDatePicker 時間選擇器
文章圖片
在這種模式下 , 顯示日期的月、日、星期 , 時間的時、分、AM/PM標志(可選) 。 具體的顯示順序取決于設備的本地化設置 。

相關經驗推薦