在程序中給用戶供一個體驗很好的頁面用來選擇日期和時間。
//UIDatePicker _myDatePicker = [[UIDatePicker alloc]init]; _myDatePicker.center = self.view.center; [_myDatePicker addTarget:self action:@selector(datePickerDateChanged:) forControlEvents:UIControlEventValueChanged]; [self.view addSubview:_myDatePicker];
Date picker 為我們提供了不同的 styles 和模式。可以通過 datePickerMode 屬性修改相關模式,下面是 UIDatePickerMode 的類型:
typedef NS_ENUM(NSInteger, UIDatePickerMode) {
UIDatePickerModeTime, 時 分 上下午
UIDatePickerModeDate, 年月日
UIDatePickerModeDateAndTime,
UIDatePickerModeCountDownTimer, 小時和分鍾
};
[_myDatePicker setDatePickerMode:UIDatePickerModeDateAndTime]; //如何能夠取到當前的這個時間值,參考如下代碼 NSDate *currentDate = _myDatePicker.date; NSLog(@"Date = %@",currentDate);
當date picker的值發生變化時,會發送一個action消息到它的target 去。為了響應這個消息,接收者需要使用 addTarget:action:forControllEvents:方法將其添加為 date picker 的 target,如下所示:
- (void)datePickerDateChanged:(UIDatePicker *)paramDatePicker{ if ([paramDatePicker isEqual:_myDatePicker]) { NSLog(@"Selected date = %@",paramDatePicker.date); } }
可以設置 date picker 能夠顯示的最小和最大時間。首先將 date picker 的模式設置為UIDatePickerModeDate,然后設置 maximumDate 和 minimumDate 的范圍: 我們能夠限制用戶所能選擇的時間范圍.
設置時間選擇器的模式為 UIDatePickerModeCountDownTimer。 例如,如果你想展現一個倒計時的功能,然后你設置一個倒計時的起始時間,你需要按照如下代碼來實現
NSTimeInterval twoMinutes = 2 *60; [_myDatePicker setCountDownDuration:twoMinutes];