我正在尝试对日历中的EKEvent对象进行一些更改。例如,我有一个活动,从凌晨1点到凌晨2点。当我将allDay属性设置为YES时,此事件将正确更改并显示在日历的全天部分中。但反过来却行不通。我正确地设置了开始和结束时间,并将allDay属性设置为NO,但事件保持不变。时间更改不会更新。这就是我要做的:
EKEvent *event = [self.eventStore eventWithIdentifier:MY_IDENTIFIER];
NSDate *start = [NSDate date]; // Get the current time
NSDate *end = [start addTimeInterval:3600]; // Add one hour
event.startDate = start;
event.endDate = end;
event.allDay = NO;
// Set some other event properties like title, location....
NSError *error;
[self.eventStore saveEvent:event span:EKSpanThisEvent error:&error]; // Save changes and make them appear in the calendar所有的更改都有效,并且我没有得到任何错误-只有将allDay YES更改为NO无效。我看了看苹果的文档,只找到了可以设置活动开始和结束日期的信息。我不确定这是否意味着allDay事件也包含在内并且也可以设置。
有人有解决这个问题的办法吗?
发布于 2012-08-27 07:53:42
在设置开始日期和结束日期之前,您是否尝试过设置first allDayEvent = NO?还要检查时区属性。所有的事件都没有,但正常的事件可以。
发布于 2013-09-02 13:46:45
我在Google Apps Calendar上遇到了一个共享日历事件。到目前为止,我还没有想出一个解决方案,但是如果您创建和/或编辑属于您的事件(至少使用iCloud),那么设置EKEvent.allDay = YES将具有期望的效果。
发布于 2015-03-11 19:48:05
是的,我在保存更新的事件时发现了一些奇怪的现象。我有个小把戏。您可以删除pre事件,并保存新事件。这对我很管用。祝好运。
https://stackoverflow.com/questions/3180249
复制相似问题