【问题标题】:NSUserNotification - Mavericks & Custom imagesNSUserNotification - Mavericks & 自定义图像
【发布时间】:2013-11-16 20:23:17
【问题描述】:
在 10.9 中,NSUserNotification 支持一个新属性“contentImage”,它允许在通知本身中使用图形。我真的希望有一种方法可以篡改通知屏幕 ala iTunes 的通知,所以它看起来好像发送者/捆绑应用程序图标是自定义的。
但似乎该属性只允许我正在寻找的一个子集,而 contentImage 属性只处理图像:
关于解决方法的任何想法?
【问题讨论】:
标签:
objective-c
icons
nsusernotification
【解决方案1】:
NSUserNotification 毫不掩饰自己是一个极其封闭的系统。但是,如果您在市场上购买私有 API,NSConcreteUserNotification 实现了一个名为 set_identityImage: 的方法。传递一个有效的 NSImage,然后显示的通知将其内容与 iTunes 横幅完全相同。
@interface NSUserNotification (CFIPrivate)
- (void)set_identityImage:(NSImage *)image;
@end
- (void)applicationDidFinishLaunching:(NSNotification *)notif {
NSUserNotification *notification = [[NSUserNotification alloc] init];
notification.title = @"Some Title";
notification.subtitle = @"Some subtitle";
[notification set_identityImage:[NSImage imageNamed:@"CF_Logo.png"]];
[NSUserNotificationCenter.defaultUserNotificationCenter deliverNotification:notification];
}