objective-c – 发送通知到山狮通知中心

objective-c – 发送通知到山狮通知中心,第1张

概述有人可以举个例子,将测试通知从Cocoa应用程序发送到通知中心吗?例如。当我点击一个NSButton Mountain Lion的通知由两个类处理。 NSUserNotification和NSUserNotificationCenter。 NSUserNotification是您的实际通知,它有一个标题,消息等,可以通过属性设置。要传递已创建的通知,可以使用NSUserNotificationCe 有人可以举个例子,将测试通知从Cocoa应用程序发送到通知中心吗?例如。当我点击一个NSbutton解决方法 Mountain lion的通知由两个类处理。 NSUserNotification和NSUserNotificationCenter。 NSUserNotification是您的实际通知,它有一个标题,消息等,可以通过属性设置。要传递已创建的通知,可以使用NSUserNotificationCenter中提供的deliverNotification:方法。苹果文档有详细信息 NSUserNotification& NSUserNotificationCenter,但是发布通知的基本代码如下所示:

- (IBAction)showNotification:(ID)sender{    NSUserNotification *notification = [[NSUserNotification alloc] init];    notification.Title = @"Hello,World!";    notification.informativeText = @"A notification";    notification.soundname = NSUserNotificationDefaultSoundname;    [[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification];}

这会产生一个带有标题和消息的通知,并且在显示时会播放默认声音。还有很多,你可以做的通知,而不仅仅是这(例如调度通知),这一切都在我链接到的文档详细。

一个小点,通知只会在您的应用程序是关键应用程序时显示。如果希望显示通知,无论应用程序是否是密钥,您都需要为NSUserNotificationCenter指定一个委托,并重写委托方法userNotificationCenter:shouldPresentNotification:以便它返回YES。可以找到NSUserNotificationCenterDelegate的文档here

这里有一个例子,提供一个委托给NSUserNotificationCenter,然后强制显示通知,无论你的应用程序是否是密钥。在应用程序的AppDelegate.m文件中,按如下所示进行编辑:

- (voID)applicationDIDFinishLaunching:(NSNotification *)aNotification{    [[NSUserNotificationCenter defaultUserNotificationCenter] setDelegate:self];}- (BOol)userNotificationCenter:(NSUserNotificationCenter *)center shouldPresentNotification:(NSUserNotification *)notification{    return YES;}

在AppDelegate.h中,声明该类符合NSUserNotificationCenterDelegate协议:

@interface AppDelegate : NSObject <NSApplicationDelegate,NSUserNotificationCenterDelegate>
总结

以上是内存溢出为你收集整理的objective-c – 发送通知到山狮通知中心全部内容,希望文章能够帮你解决objective-c – 发送通知到山狮通知中心所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1047692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存