首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSUserNotification关闭调用didActivateNotification

NSUserNotification关闭调用didActivateNotification
EN

Stack Overflow用户
提问于 2017-10-06 16:43:04
回答 2查看 411关注 0票数 3

自MacOS 10.13以来,每次单击NSUserNotification上的“关闭”按钮时,它都会调用:

代码语言:javascript
复制
- (void) userNotificationCenter:(NSUserNotificationCenter *)center didActivateNotification:(NSUserNotification *)notification

如何防止这一点或处理closeaction按钮

要创建通知,请执行以下操作:

代码语言:javascript
复制
NSUserNotification *notification = [[NSUserNotification alloc] init];
...
[notification setHasActionButton:false];
[[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification];
[[NSUserNotificationCenter defaultUserNotificationCenter] setDelegate:(id)self];

NSUserNotificationAlertStyle.plist中设置为"alert“。

但是现在,关闭按钮的反应基本上和actionButton一样?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-12 05:16:33

NSUserNotification具有可用于管理通知标识符或hasActionButton值的属性,因此您可以在同一个委托方法中处理“关闭”和“动作”按钮。

代码语言:javascript
复制
- (void) userNotificationCenter:(NSUserNotificationCenter *)center didActivateNotification:(NSUserNotification *)notification{    
}
票数 2
EN

Stack Overflow用户

发布于 2017-10-10 11:36:01

这是为我工作..。

可以在didActivateNotification:方法中删除通知

代码语言:javascript
复制
- (void) userNotificationCenter:(NSUserNotificationCenter *)center didActivateNotification:(NSUserNotification *)notification
{
    NSLog(@"Notification - Clicked");
    [center removeDeliveredNotification: notification];
    notification=nil;
}

center在哪里..。

代码语言:javascript
复制
NSUserNotificationCenter *center = [NSUserNotificationCenter defaultUserNotificationCenter];
    [center scheduleNotification:notification];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46610367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档