我正在尝试对日历中的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无效。我看了一下Apple的文档,才发现可以设置事件的开始和结束日期的信息。我不确定这是否意味着allDay事件是否包括在内并且也可以设置。

有人对此有解决方案吗?

最佳答案

在设置开始日期和结束日期之前,您是否尝试过先设置allDayEvent = NO?还要检查时区属性。全天活动没有一天,但正常活动可以。

10-07 23:02