0

我已经设置了 EKCalendarChooser 以允许用户选择日历,并且我已经设置了 EKCalendarChooserDelegate 协议来检查选择。我确实得到了带有结果的 calendarChooserDidFinish,但我仍然不清楚如何切换到日历。我看到 selectedCalendars 属性,但我想我期待一种通过设置 eventStore 或标识符来设置选择日历的方法 - 我可能正在使用回来的使用 NSSet?

因此,当我更改日历时,我做了一些类似的事情

  self.defaultCalendar = [self.eventStore calendarWithIdentifier:identifier];

或 id 创建一个新日历

    self.defaultCalendar = [EKCalendar calendarWithEventStore:eventStore];
    self.defaultCalendar.title = @"Demo calendar";
    self.defaultCalendar.source = localSource;
    [eventStore saveCalendar:self.defaultCalendar commit:YES error:nil];

如何从 EKCalendarChooser 更改为新的选择日历?

4

1 回答 1

0

如果我正确理解了您的问题,那么当您calendarChooser.selectedCalendars在委托方法中接收属性时,您是否正在寻找如何设置日历?

如果您只允许在您的日历中设置一个日历,EKCalendarChooser那么您可以执行以下操作:

- (void)calendarChooserSelectionDidChange:(EKCalendarChooser *)calendarChooser
{
    EKCalendar *newCalendar = [calendarChooser.selectedCalendars anyObject];
}

如果您允许选择多个日历,则需要循环访问 NSSet。

于 2012-02-22T08:52:26.557 回答