12

在 10.9 中,NSUserNotification 支持一个新属性“contentImage”,它允许在通知本身中使用图形。我真的希望有一种方法可以篡夺通知屏幕 ala iTunes 的通知,所以它看起来好像发送者/捆绑应用程序图标是自定义的。

在此处输入图像描述

但似乎该属性只允许我正在寻找的一个子集,并且 contentImage 属性只处理图像:

在此处输入图像描述

关于解决方法的任何想法?

4

1 回答 1

4

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];
}

自定义横幅

于 2014-03-23T04:10:24.617 回答