12

10.9 では、NSUserNotification は新しいプロパティ「contentImage」をサポートします。これにより、通知自体内でグラフィックを使用できます。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 に答える