日历的简单示例
- (IBAction)showDefault:(id)sender {UICCalendarPicker *calendarPicker = [[UICCalendarPicker alloc] initWithSize:UICCalendarPickerSizeSmall];[calendarPicker setDelegate:self];[calendarPicker showInView:self.view animated:YES];[calendarPicker release];}- (IBAction)showMultiSelection:(id)sender {UICCalendarPicker *calendarPicker = [[UICCalendarPicker alloc] initWithSize:UICCalendarPickerSizeMedium];[calendarPicker setDelegate:self];[calendarPicker setSelectionMode:UICCalendarPickerSelectionModeMultiSelection];[calendarPicker showInView:self.view animated:YES];[calendarPicker release];}- (IBAction)showRangeSelection:(id)sender {UICCalendarPicker *calendarPicker = [[UICCalendarPicker alloc] initWithSize:UICCalendarPickerSizeLarge];[calendarPicker setDelegate:self];[calendarPicker setSelectionMode:UICCalendarPickerSelectionModeRangeSelection];[calendarPicker showInView:self.view animated:YES];[calendarPicker release];}- (IBAction)showLastMonthPresent:(id)sender {UICCalendarPicker *calendarPicker = [[UICCalendarPicker alloc] initWithSize:UICCalendarPickerSizeExtraLarge];[calendarPicker setDelegate:self];[calendarPicker setSelectionMode:UICCalendarPickerSelectionModeMultiSelection];[calendarPicker setPageDate:[NSDate dateWithTimeIntervalSinceNow:-1 * (60 * 60 * 24 * 30)]];[calendarPicker showInView:self.view animated:YES];[calendarPicker release];}- (IBAction)showWeekRangeActive:(id)sender {UICCalendarPicker *calendarPicker = [[UICCalendarPicker alloc] init];[calendarPicker setDelegate:self];[calendarPicker setSelectionMode:UICCalendarPickerSelectionModeMultiSelection];[calendarPicker setMinDate:[NSDate date]];[calendarPicker setMaxDate:[NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24 * 7]];[calendarPicker showInView:self.view animated:YES];[calendarPicker release];}- (IBAction)showMonthRangeActive:(id)sender {UICCalendarPicker *calendarPicker = [[UICCalendarPicker alloc] init];[calendarPicker setDelegate:self];[calendarPicker setSelectionMode:UICCalendarPickerSelectionModeRangeSelection];[calendarPicker setMinDate:[NSDate date]];[calendarPicker setMaxDate:[NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24 * 30]];[calendarPicker showInView:self.view animated:YES];[calendarPicker release];}- (IBAction)showRangeActiveFromNow:(id)sender {UICCalendarPicker *calendarPicker = [[UICCalendarPicker alloc] init];[calendarPicker setDelegate:self];[calendarPicker setSelectionMode:UICCalendarPickerSelectionModeRangeSelection];[calendarPicker setMinDate:[NSDate date]];[calendarPicker showInView:self.view animated:YES];[calendarPicker release];}- (IBAction)showRangeActiveToNow:(id)sender {UICCalendarPicker *calendarPicker = [[UICCalendarPicker alloc] init];[calendarPicker setDelegate:self];[calendarPicker setSelectionMode:UICCalendarPickerSelectionModeRangeSelection];[calendarPicker setMaxDate:[NSDate date]];[calendarPicker showInView:self.view animated:YES];[calendarPicker release];}- (IBAction)showDateSelected:(id)sender {UICCalendarPicker *calendarPicker = [[UICCalendarPicker alloc] init];[calendarPicker setDelegate:self];[calendarPicker setSelectionMode:UICCalendarPickerSelectionModeMultiSelection];[calendarPicker addSelectedDate:[NSDate date]];[calendarPicker addSelectedDate:[NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24 *2]];[calendarPicker showInView:self.view animated:YES];[calendarPicker release];}- (IBAction)showDateCustom:(id)sender {UICCalendarPicker *calendarPicker = [[UICCalendarPicker alloc] initWithSize:UICCalendarPickerSizeMedium];[calendarPicker setDelegate:self];[calendarPicker setDataSource:self];[calendarPicker setTitleText:[NSString stringWithUTF8String:"日历"]];[calendarPicker setWeekText:[NSArray arrayWithObjects: [NSString stringWithUTF8String:"日"], [NSString stringWithUTF8String:"一"], [NSString stringWithUTF8String:"二"], [NSString stringWithUTF8String:"三"], [NSString stringWithUTF8String:"四"], [NSString stringWithUTF8String:"五"], [NSString stringWithUTF8String:"六"], nil]];[calendarPicker setSelectionMode:UICCalendarPickerSelectionModeMultiSelection];[calendarPicker addSelectedDate:[NSDate date]];[calendarPicker addSelectedDate:[NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24 * 2]];CGRect frame = calendarButton.frame;[calendarPicker showAtPoint:CGPointMake(frame.origin.x + frame.size.width, frame.origin.y + frame.size.height) inView:self.view animated:YES];[calendarPicker release];}
?
核心功能请参考附件。
?
示例图: