2部分问题: 使用SDK的视图控制器添加事件是有效的,但我希望将其默认为Alert =“在事件发生时”或任何其他可用选项;我怎么做?。 其次,我希望在事件结束时显示警告。我尝试将一个EKAlarm集添加到endDate,但没有触发警报。可以在使用SDK的EKEventEditViewController时完成吗?
如果我正在尝试自定义EKEventEditViewController的类别,那么我认为SO上的大多数其他Q表示不允许example。
以下是代码(iOS 7):
- (void)eventEditViewController:(EKEventEditViewController *)controller
didCompleteWithAction:(EKEventEditViewAction)action{
AlarmTimerTriggersTVC * __weak weakSelf = self;
// Dismiss the modal view controller
[self dismissViewControllerAnimated:YES completion:^
{
if (action != EKEventEditViewActionCanceled)
{
dispatch_async(dispatch_get_main_queue(), ^{
EKAlarm *alarm = [EKAlarm alarmWithAbsoluteDate:controller.event.endDate];
controller.event.alarms = [NSArray arrayWithObject:alarm];
// Re-fetch all events happening in the next 24 hours
weakSelf.eventsList = [self fetchEvents];
// Update the UI with the above events
[weakSelf.tableView reloadData];
});
}
}];
}
答案 0 :(得分:2)
尝试在设置闹钟后保存事件
EKAlarm *alarm = [EKAlarm alarmWithAbsoluteDate:controller.event.endDate];
controller.event.alarms = [NSArray arrayWithObject:alarm];
NSError* error = nil;
[eventStore saveEvent: controller.event
span: span
error: &error];
编辑:
事件发生的时间是这样的
controller.event.alarms = [NSArray arrayWithObject:
[EKAlarm alarmWithRelativeOffset: 0]];