七、关于事件提供的接口

注意:Event Kit UI framework只支持IOS系统,而不支持OS X。

Event Kit UI Framework提供两种视图控制器:

  • EKEventViewController:用来展示事件信息
  • EKEventEditViewController:用来创建、修改或删除事件

展示事件数据

展示事件使用EKEventViewController,首先需要从Event store中获取到一个存在的事件,然后设置到event属性中,如果不想用户编辑,则可以设置EKEventViewController.allowsEditing = NO。

EKEventViewController *eventViewController = [[EKEventViewController alloc] init];
eventViewController.event = myEvent;
eventViewController.allowsEditing = YES;
navigationController = [[UINavigationController alloc] initWithRootViewController:eventViewController];

另外,使用EKEventViewController需要添加EKEventViewDelegate,并实现eventViewController:didCompleteWithAction: 方法。

修改事件数据

类EKEventEditViewController使用EKEventEditViewDelegate协议,使用该类可以创建、修改和删除事件。该类与EKEventViewController类很像,不同的是,EKEventEditViewController 必须设置的是eventStore属性,而event属性是可选的。

  • 如果event = nil,则表示创建
  • 如果event != nil,则表示是编辑事件,这个事件必须驻留在指定的Event store中,否则就会发生异常
    EKEventEditViewController实例在展示时为模态窗口,代码如下所示:
EKEventEditViewController* controller = [[EKEventEditViewController alloc] init];
controller.eventStore = myEventStore;
controller.editViewDelegate = self;
[self presentModalViewController:controller animated:YES];

该类也需要实现EKEventEditViewDelegate协议,并在eventEditViewController:didCompleteWithAction:方法中释放掉该模态窗口,如下所示:

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

在上面的方法中,action表示最后执行的动作,可能是取消、保存或删除事件,你需要根据具体情况具体分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值