3

NSUserNotification特定のものがまだ画面に表示されているか、それとも閉じられているかを判断する方法はありますか? これを行う方法が見つかりませんでした。

4

1 に答える 1

1

NSUserNotificationCenterDelegate_Protocolを使用できると思います

userNotificationCenter :didActivateNotification: ユーザー通知センターによって提示されたユーザー通知をユーザーがクリックすると、デリゲートに送信されます。

ただし、使用されている通知の種類にも依存することを忘れないでください。「バナー」の場合、ユーザーがクリックする前に消える可能性があります。

そのため、デリゲートと併せて、通知の種類と、それが提示されたかどうかも確認する必要があります。

更新: NotificationCenter は使用していません。したがって、手元にコードはありません。しかし、定数も見てください:

NSUserNotificationActivationType
These constants describe how the user notification was activated.

enum {
NSUserNotificationActivationTypeNone = 0,
NSUserNotificationActivationTypeContentsClicked = 1,
NSUserNotificationActivationTypeActionButtonClicked = 2
}
typedef NSInteger NSUserNotificationActivationType;
Constants
NSUserNotificationActivationTypeNone
The user did not interact with the notification alert.
Available in OS X v10.8 and later.
Declared in NSUserNotification.h.
NSUserNotificationActivationTypeContentsClicked
The user clicked on the contents of the notification alert.
Available in OS X v10.8 and later.
Declared in NSUserNotification.h.
NSUserNotificationActivationTypeActionButtonClicked
The user clicked on the action button of the notification alert.
Available in OS X v10.8 and later.
Declared in NSUserNotification.h.
于 2012-08-18T12:05:22.883 に答える