如何在日历中设置默认提醒?

Posted

技术标签:

【中文标题】如何在日历中设置默认提醒?【英文标题】:How to set a default alert in the calendar? 【发布时间】:2017-03-15 07:28:45 【问题描述】:

尝试向我的用户日历添加偶数,但不确定如何设置默认警报。到目前为止,我所拥有的是:

func createEvent(item: Item) 
        let eventStore = EKEventStore()

        eventStore.requestAccessToEntityType(EKEntityType.Event, completion:  (granted, error) in
            if granted && error == nil 
                let event = EKEvent(eventStore: eventStore)
                event.title = item.name
                event.startDate = item.StartDate
                event.endDate = item.endDate
                event.notes = item.description
                event.calendar = eventStore.defaultCalendarForNewEvents

                let alarm1hour = EKAlarm(relativeOffset: 3600) //1 hour
                let alarm1day = EKAlarm(relativeOffset: 86400) //1 day
                event.addAlarm(alarm1day)
                event.addAlarm(alarm1hour)

                // prompt user to add event (to whatever calendar they want)
                let controller = EKEventEditViewController()
                controller.event = event
                controller.eventStore = eventStore
                controller.editViewDelegate = self

                self.presentViewController(controller, animated: true, completion: nil)

             else 
                self.dismissViewControllerAnimated(true, completion: )
            
        )
    

我假设警报 = 警报,但这似乎没有任何作用。如何设置活动前 1 天的提醒,以及活动前 1 小时的提醒?

【问题讨论】:

【参考方案1】:

从documentation 到EKAlarm(relativeOffset:)

负偏移值在事件开始前触发,而正值在事件开始后触发。

我会尝试以下方法:

let alarm1hour = EKAlarm(relativeOffset: -3600) //1 hour
let alarm1day = EKAlarm(relativeOffset: -86400) //1 day

注意:由于夏令时更改,您可能希望为“前一天”警报使用绝对时间。

【讨论】:

以上是关于如何在日历中设置默认提醒?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用后台服务在android中设置提醒?

如何在默认情况下停止 datetimepicker 在文本框中设置今天的日期 onclick

如何使用 Jquery 在 DatePicker 中设置昨天的日期

iphone怎么弄纪念日倒计时

使用 xamarin.forms 跨平台 C# 在设备日历上设置提醒

如何以编程方式设置 iPhone 闹钟?