ios 4 新特性 日历事件

本文详细介绍了如何利用EventKit框架在iOS应用中创建、删除和更新日历事件,包括导入框架、创建事件实例、设置事件属性、保存事件以及错误处理。此外,还展示了如何通过EventKitUI框架实现更直观的日历事件编辑界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Event Kit 框架

iOS 4.0引入了 Event Kit框架 (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:add EventKit.framework

 

2:导入头文件

#import <EventKit/EventKit.h>



 

3:

-(IBAction) createEvent {

 // Get the event store object
 EKEventStore *eventStore = [[EKEventStore alloc] init];
 
 // Create a new event
  EKEvent *event  = [EKEvent eventWithEventStore:eventStore];
 
 // Create NSDates to hold the start and end date
 NSDate *startDate = [[NSDate alloc] init];
 NSDate *endDate  = [[NSDate alloc] init];
 
 // Set properties of the new event object
    event.title     = @"Title for new event";
    event.startDate = startDate;
    event.endDate   = endDate;
    event.allDay = YES;
 
 // set event's calendar to the default calendar
    [event setCalendar:[eventStore defaultCalendarForNewEvents]];
 
 // Create an NSError pointer
     NSError *err;
 
 // Save the event
    [eventStore saveEvent:event span:EKSpanThisEvent error:&err]; 

 // Test for errors
 if (err == noErr) {
  UIAlertView *alert = [[UIAlertView alloc]
         initWithTitle:@"Event Created" 
         message:@"How about that?" 
         delegate:nil
         cancelButtonTitle:@"Okay" 
         otherButtonTitles:nil];
  [alert show];
  [alert release];
 }
 
 // Release objects
 [startDate release];
 [endDate release];
 [eventStore release]; 
}

 三:Event Kit UI 框架。

在你的app中调用event kit ui

 

1:导入头文件

#import <EventKitUI/EventKitUI.h>

 

 

 

 

 

@interface CreateEventViewController : UIViewController <EKEventEditViewDelegate>

2:

-(IBAction) createEvent {
    // Get the event store object
 EKEventStore *eventStore = [[EKEventStore alloc] init];

 // Create the EditViewController
 EKEventEditViewController* controller =[[EKEventEditViewController alloc] init];

    controller.eventStore = eventStore;
    controller.editViewDelegate = self;
 
    [self presentModalViewController: controller animated:YES];
 
    [controller release];

}

 3:delegate method for EKEventEditViewDelegate 

// delegate method for EKEventEditViewDelegate
- (void)eventEditViewController:(EKEventEditViewController *)controller    didCompleteWithAction:(EKEventEditViewAction)action {
    [self dismissModalViewControllerAnimated:YES];
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值