Обновление EKEvent - PullRequest
       25

Обновление EKEvent

3 голосов
/ 05 июля 2010

Я пытаюсь внести некоторые изменения в объект EKEvent в моем календаре. У меня есть событие, например, с 1:00 до 2:00. Когда я устанавливаю для свойства 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 включены и могут быть установлены тоже.

У кого-нибудь есть решение для этого?

Ответы [ 3 ]

0 голосов
/ 02 сентября 2013

Я столкнулся с этим с событием общего календаря в Календаре Служб Google. Я еще не нашел решения, но если вы создаете и редактируете принадлежащие вам события (по крайней мере, с помощью iCloud), тогда установка EKEvent.allDay = YES даст желаемый эффект.

0 голосов
/ 11 марта 2015

Да, я обнаружил странное появление при сохранении обновленного события.У меня есть метод трюка.Вы можете удалить предварительное событие и сохранить новое событие.Это работает для меня.Удачи.

0 голосов
/ 27 августа 2012

Вы пробовали установить сначала allDayEvent = NO перед настройкой даты начала и окончания? Также проверьте свойство часового пояса. Мероприятия на весь день не имеют, но обычные события могут.

...