Cocoa:在app最前面强制NSUserNotification

时间:2012-08-24 02:52:19

标签: cocoa delegates nsusernotification

相当简单,我有一个应该发送通知的应用程序但如果应用程序位于最前面则不会这样做。从NSUserNotificationCenter类引用:

  

用户通知中心保留决定是否有权的权利   交付用户       通知呈现给用户。例如,它可以抑制       如果应用程序已经是最前面的通知(委托可以覆盖       这个动作)。

从我可以收集的内容来看,它与NSUserNotificationCenterDelegate协议参考中显示的userNotificationCenter:shouldPresentNotification:方法有关,但我无法弄清楚如何实现它。我已经将我的课程设置为NSUserNotificationCenterDelegate,所以不是。

有什么想法吗?

编辑: 在我设置为NSUserNotificationCenterDelegate的类中,我使用它来尝试覆盖原始方法,如果应用程序位于最前面,则默认为NO:

- (BOOL)userNotificationCenter:(NSUserNotificationCenter *)center shouldPresentNotification:(NSUserNotification *)notification {
return YES;
}

但没有任何反应。

1 个答案:

答案 0 :(得分:5)

NSUserNotificationCenter * center = [NSUserNotificationCenter defaultUserNotificationCenter]; [中心时间表通知:通知]; center.delegate = self;

  • (BOOL)userNotificationCenter :( NSUserNotificationCenter *)中心shouldPresentNotification:(NSUserNotification *)通知 {return YES;}