当我为日历创建新的EKEvent
时,我注意到会自动添加活动日的警报广告9
,我怎么能设置alarm
?我试过这样的方式:
EKEvent *event = [EKEvent eventWithEventStore:eventStore];
event.titile = @"This is an event";
event.calendar = calendar;
event.alarms = nil; //in this way don't work...
但不起作用,在日历中,我看到你可以看到的警报:
任何人都知道如何在没有警报的情况下添加EKEvent?
答案 0 :(得分:1)
你应该设置一个没有警报的空NSArray
,如下所示:
EKEvent *event = // whatever...
[event setAlarms:[NSArray array]];
答案 1 :(得分:1)
我发现默认闹钟是由Calendar.app设置的日历设置。 如果在settings.app中设置了默认警报,我找不到正确的方法来设置事件而不会发出警报。
答案 2 :(得分:1)
我终于找到了为什么有些人在创建新的EKEvents事件时会发出警报的原因,尽管我们已经指定了警报。 对我而言,我猜测你们大多数人,所选的日历都是谷歌日历。 Google日历的设置可为每个添加的新活动创建闹钟。 要将其关闭,请在网络浏览器上登录您的Google日历以将其关闭。 我希望这会挽回一些挫败感! Brgds, 埃里克
答案 3 :(得分:1)
看起来禁用警报的唯一方法是使用以下代码在遥远的将来创建警报
EKAlarm * alarm = [EKAlarm alarmWithAbsoluteDate:[NSDate distantFuture]];
event.alarms = @[alarm];
希望这有帮助。
答案 4 :(得分:0)
根据我的经验解决了问题。 它取决于设备,不在模拟器中,通过设置/邮件,联系人,日历/默认警报时间/事件设置。 如果设置为“无”,则可以添加警报或保留默认值,即nil。有用。 如果设置为其他任何内容,则会覆盖您对事件警报所做的任何设置,包括nil。
答案 5 :(得分:0)
对我来说,唯一的方法是在创建后立即将其从事件中手动删除:
trace0 = dict(
x = new_index,
y = class1['num_users'],
hoverinfo = 'x+y',
mode = 'lines',
line=dict(width=0.5,
color='rgb(58, 203, 215)'),
stackgroup = 'one',
name = '[1,{}] '.format(lower_q) )
trace1 = dict(
x = new_index,
y = class2['num_users'],
hoverinfo = 'x+y',
mode = 'lines',
line=dict(width=0.5,
color='rgb(177, 193, 123)'),
stackgroup = 'one',
name = '[{},{}] '.format(lower_q + 1, medium_q) )
trace2 = dict(
x = new_index,
y = class3['num_users'],
hoverinfo = 'x+y',
mode = 'lines',
line=dict(width=0.5,
color='rgb(243, 161, 203)'),
stackgroup = 'one',
name = '[{},{}] '.format(medium_q + 1, upper_q) )
trace3 = dict(
x = new_index,
y = class4['num_users'],
hoverinfo = 'x+y',
mode = 'lines',
line=dict(width=0.5,
color='rgb(184, 178, 247)'),
stackgroup = 'one',
name = '>= {}'.format(upper_q + 1) )
trace4 = dict(
x = new_index,
y = class4['num_users'],
hoverinfo = 'x+y',
mode = 'lines',
line=dict(width=0.5,
color='rgb(178, 241, 247)'),
stackgroup = 'one',
name = 'upper area' )
data = [trace0, trace1, trace2, trace3, trace4]