0

如何使用 iPhone 的日历创建事件,从 获取开始和结束日期UITextField

4

2 回答 2

1

要以编程方式添加事件,请阅读 Apple 的Event Kit Programming Guide。也许您想通过使用 让自己更轻松EKEventViewController,但您也可以在代码中完成所有操作。

要将文本字段NSString的属性转换为 ,您必须使用. 类文档中有很好的示例。textNSDateNSDateFormatter

于 2011-09-07T19:04:30.513 回答
0
//create an EKEventEditViewController to display the event view controller.

EKEventEditViewController *addController = [[EKEventEditViewController alloc] initWithNibName:nil bundle:nil];

//set eventstore global reference

addController.eventStore = self.eventStore;

// present EventsAddViewController as a modal view controller
[self presentModalViewController:addController animated:YES];

// assign <EKEventEditViewDelegate> to view controller
    addController.editViewDelegate = self;
[addController release];

//======================================================================

//Add delegate methods

- (void)eventEditViewController:(EKEventEditViewController *)controller 
    didCompleteWithAction:(EKEventEditViewAction)action {

NSError *error = nil;
EKEvent *thisEvent = controller.event;

switch (action) {
    case EKEventEditViewActionCanceled:
        // Edit action canceled, do nothing. 
        break;

    case EKEventEditViewActionSaved:
        // When user hit "Done" button, save the newly created event to the event store, 

        [controller.eventStore saveEvent:controller.event span:EKSpanThisEvent error:&error];
        break;

    case EKEventEditViewActionDeleted:
        // When deleting an event, remove the event from the event store, 

        [controller.eventStore removeEvent:thisEvent span:EKSpanThisEvent error:&error];
        break;

    default:
        break;
}
// Dismiss the modal view controller
[controller dismissModalViewControllerAnimated:YES];

}

// Set the calendar edited by EKEventEditViewController to our chosen calendar - the default calendar.

- (EKCalendar *)eventEditViewControllerDefaultCalendarForNewEvents:(EKEventEditViewController *)controller 
{
EKCalendar *calendarForEdit = self.defaultCalendar;
return calendarForEdit;
}
于 2011-09-15T07:20:01.077 回答