检测其他按钮点击(NSUserNotification)

Detect Other Button click (NSUserNotification)

我在整个互联网上搜索过,但找到的唯一方法是循环

- (void)userNotificationCenter:(NSUserNotificationCenter *)center didDeliverNotification:(NSUserNotification *)notification

如图所示:

但是,我的应用程序有时会在很短的时间内显示多个通知,因此这既不高效也不有效。当按下垃圾按钮时,邮件应用程序如何处理它。必须至少有一个被调用的私有方法。有没有人遇到过它?提前致谢

之后...嗯..."checking" 找出邮件应用程序的代码...我在他们的通知控制器中发现了一个可疑的功能class...

- (void)userNotificationCenter:(NSUserNotificationCenter *)center didDismissAlert:(NSUserNotification *)alert

我不知道为什么 apple 不想将此功能添加到 NSUserNotificationDelegate...但我在我的应用程序中测试了它并且它有效!!!

Swift >= 4 版本:

@objc
func userNotificationCenter(_ center: NSUserNotificationCenter, didDismissAlert notification: NSUserNotification)

确保添加 @objc 注释,否则 objective-C 运行时将无法看到您的委托方法。