0
我要提示用戶選擇從可可的UIDatePicker一個日期,但避免他選擇週日ANS週六,因爲我的目標是讓他們選擇日期預約如何避免用戶在UIDatePicker中選擇某個日期?
,最好的辦法應該禁用該日期,在minimumDate財產以同樣的方式,但我無法找到該怎麼做
我要提示用戶選擇從可可的UIDatePicker一個日期,但避免他選擇週日ANS週六,因爲我的目標是讓他們選擇日期預約如何避免用戶在UIDatePicker中選擇某個日期?
,最好的辦法應該禁用該日期,在minimumDate財產以同樣的方式,但我無法找到該怎麼做
你可以做這樣的事情:
UIDatePicker *datePicker = [[UIDatePicker alloc] init];
[datePicker addTarget:self action:@selector(dateChanged:) forControlEvent:UIControlEventValueChanged];
執行情況dateChanged
:
- (void)dateChanged:(id)sender {
UIDatePicker *datePicker = (UIDatePicker *)sender;
NSDate *pickedDate = datePicker.date;
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *weekdayComponents = [gregorian components:NSWeekdayCalendarUnit fromDate:pickedDate];
NSInteger weekday = [weekdayComponents weekday];
[gregorian release];
if (weekday == 1 || weekday == 7) { // Sunday or Saturday
NSDate *nextMonday = nil;
if (weekday == 1)
nextMonday = [pickedDate dateByAddingTimeInterval:24 * 60 * 60]; // Add 24 hours
else
nextMonday = [pickedDate dateByAddingTimeInterval:2 * 24 * 60 * 60]; // Add two days
[datePicker setDate:nextMonday animated:YES];
return;
}
// Do something else if the picked date was NOT on Saturday or Sunday.
}
這樣,當在星期六或星期天挑選日期時,日期選擇器自動選擇週末後的星期一。
(代碼未經測試!)