如何在日历中设置默认提醒?
How to set a default alert in the calendar?
正在尝试将偶数添加到我用户的日历中,但不确定如何设置默认提醒。到目前为止我所拥有的是:
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: {})
}
})
}
我假设 alarm = alert,但这似乎没有任何作用。如何设置活动前 1 天的提醒,以及活动前 1 小时的提醒?
来自 documentation for EKAlarm(relativeOffset:)
:
Negative offset values fire before the start of the event, while positive values fire after the start.
我会尝试以下方法:
let alarm1hour = EKAlarm(relativeOffset: -3600) //1 hour
let alarm1day = EKAlarm(relativeOffset: -86400) //1 day
注意:由于夏令时的变化,您可能需要为 "one day before" 警报使用绝对时间。
正在尝试将偶数添加到我用户的日历中,但不确定如何设置默认提醒。到目前为止我所拥有的是:
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: {})
}
})
}
我假设 alarm = alert,但这似乎没有任何作用。如何设置活动前 1 天的提醒,以及活动前 1 小时的提醒?
来自 documentation for EKAlarm(relativeOffset:)
:
Negative offset values fire before the start of the event, while positive values fire after the start.
我会尝试以下方法:
let alarm1hour = EKAlarm(relativeOffset: -3600) //1 hour
let alarm1day = EKAlarm(relativeOffset: -86400) //1 day
注意:由于夏令时的变化,您可能需要为 "one day before" 警报使用绝对时间。