NSUserNotification - Mavericks & Пользовательские изображения

В 10.9 NSUserNotification поддерживает новое свойство "contentImage", которое позволяет использовать графику в самом уведомлении. Я действительно надеялся, что может быть способ узурпировать экран уведомлений через уведомления iTunes, поэтому он будет выглядеть так, как будто значок приложения отправителя / пакета настроен.

Но похоже, что свойство учитывает только часть того, что я ищу, а свойство contentImage обрабатывает изображения только таким образом:

Есть идеи об обходном пути?

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

Пользовательский баннер

Другие вопросы по тегам