ios - 按下“完成”按钮后,如何设置默认日历?

标签 ios swift ekcalendar

我希望用户能够使用 EKCalendarChooser 选择新的默认日历。 到目前为止,我认为这可能有效,但事实并非如此。

   func calendarChooserDidFinish(_ calendarChooser: EKCalendarChooser) {
    print("Done was pressed")
    // Set to default calendar
    eventStore.defaultCalendarForNewReminders()
    for source in eventStore.sources {
        if source.sourceType == .local {
            calendar.source = source
            break
        }
    }
    dismiss(animated: true, completion: nil)
}

如何使用 EKCalendarChooser 设置新的默认日历?

最佳答案

 //get your calendar if it was previously created
    let calendars = eventStore.calendars(for: .event)
    for c in calendars
    {
        if c.title == "calendarName"
        {
            calendar = c
        }
    }

//create it if it was not created previously
    if calendar == nil
    {
        let calendar = EKCalendar(for: .event, eventStore: eventStore)
        calendar.title = "calendarName"
        if eventStore.sources.count == 0
        {
            calendar.source = EKSource()
        }
        else
        {
            self.setStoreForCalendar(calendar: calendar, store: eventStore)
        }
        do
        {
            try eventStore.saveCalendar(calendar, commit: true)
        }
        catch let err as NSError
        {
            print ("error  \(err.description)")
        }
    }

//set defaultCalendar 
    func setStoreForCalendar(calendar:EKCalendar, store:EKEventStore)
    {
        var mSource:EKSource?
        for source in store.sources
        {
            if source.sourceType == .calDAV && source.title == "iCloud"
            {
                mSource = source
            }
        }

        if mSource == nil
        {
            // saving on the local calendar
            mSource = store.defaultCalendarForNewEvents?.source
        }
    }

关于ios - 按下“完成”按钮后,如何设置默认日历?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46762441/

相关文章:

objective-c - boolValue不将NSString转换为BOOL

swift - 如何在 iOS 10 的 iMessage 应用程序中发送带有图像和标题的音频文件?

ios - Swift UIImageView 拉伸(stretch)方面

ios - Swift 2 无法删除可选绑定(bind)

ios - 如何正确获取一组 EKCalendars

ios - Sqlite 插入或替换不更新一列

ios - 链接 iOS 框架

使用 ViewWillLayoutSubviews 进行 IOS 动画