如何在日历中的EKEvent中设置无警报

时间:2012-12-11 12:24:19

标签: iphone ios ekevent

当我为日历创建新的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...

但不起作用,在日历中,我看到你可以看到的警报:

enter image description here

任何人都知道如何在没有警报的情况下添加EKEvent?

6 个答案:

答案 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]
相关问题