EventKit框架
iOS 4.0引入了EventKit框架 (EventKit.framework)。此框架为访问用户设备的日历事件提供接口。您可以通过该框架访问用户日历中现有事件,可以增加新事件。日历事件可包含闹铃,而且可以配置闹铃激活规则。
一:using enevt kit
1:get existing events
2:create new events
3:delete events
4:be notified of event changes
二:create new events
1:addEventKit.framework
2:导入头文件
- <fontclass="Apple-style-span"style="font-weight:normal;text-indent:0px;line-height:normal;font-style:normal;white-space:normal;letter-spacing:normal;border-collapse:separate;font-variant:normal;"size="4"color="#000000"><fontclass="Apple-style-span"style="font-size:14px;text-indent:28px;line-height:28px;"color="#333333">#import<EventKit/EventKit.h></font></font>
3:
- -(IBAction)createEvent{
- //Gettheeventstoreobject
- EKEventStore*eventStore=[[EKEventStorealloc]init];
- //Createanewevent
- EKEvent*event=[EKEventeventWithEventStore:eventStore];
- //CreateNSDatestoholdthestartandenddate
- NSDate*startDate=[[NSDatealloc]init];
- NSDate*endDate=[[NSDatealloc]init];
- //Setpropertiesoftheneweventobject
- event.title=@"Titlefornewevent";
- event.startDate=startDate;
- event.endDate=endDate;
- event.allDay=YES;
- //setevent'scalendartothedefaultcalendar
- [eventsetCalendar:[eventStoredefaultCalendarForNewEvents]];
- //CreateanNSErrorpointer
- NSError*err;
- //Savetheevent
- [eventStoresaveEvent:eventspan:EKSpanThisEventerror:&err];
- //Testforerrors
- if(err==noErr){
- UIAlertView*alert=[[UIAlertViewalloc]
- initWithTitle:@"EventCreated"
- message:@"Howaboutthat?"
- delegate:nil
- cancelButtonTitle:@"Okay"
- otherButtonTitles:nil];
- [alertshow];
- [alertrelease];
- }
- //Releaseobjects
- [startDaterelease];
- [endDaterelease];
- [eventStorerelease];
- }
三:EventKitUI 框架。
在你的app中调用event kit ui
1:导入头文件
- #import<EventKitUI/EventKitUI.h>
@interface CreateEventViewController : UIViewController <EKEventEditViewDelegate>
2:
- -(IBAction)createEvent{
- //Gettheeventstoreobject
- EKEventStore*eventStore=[[EKEventStorealloc]init];
- //CreatetheEditViewController
- EKEventEditViewController*controller=[[EKEventEditViewControlleralloc]init];
- controller.eventStore=eventStore;
- controller.editViewDelegate=self;
- [selfpresentModalViewController:controlleranimated:YES];
- [controllerrelease];
- }
3:delegate method for EKEventEditViewDelegate
- //delegatemethodforEKEventEditViewDelegate
- -(void)eventEditViewController:(EKEventEditViewController*)controllerdidCompleteWithAction:(EKEventEditViewAction)action{
- [selfdismissModalViewControllerAnimated:YES];
- }