如何创建类似MAC升级通知的面板?

时间:2016-02-14 14:23:35

标签: objective-c macos cocoa

screenshot

就像这样,在右上角,就像OS X升级通知一样。 我试过NSAlert,cor NSPanel但是失败了。我想知道如何创建它,或者它不是一个系统类?

1 个答案:

答案 0 :(得分:0)

您要查找的课程是NSUserNotification,您可以在其中显示通知的标题和说明。

在那里玩一些这些选项,让它们适合你。

BTW:有两种NSUserNotification样式可用。简单的和那些附有行动的人。不幸的是,每个应用程序只能使用一种类型,因为此值在.plist文件中设置。

这是我前一段时间写的一些代码,用于通过NSUserNotifactionCenter显示错误通知:

- (void)postErrorNotificationWithTitle:(NSString *)title subtitle (NSString*)subtitle description:(NSString *)description {
    NSUserNotification* userNoti = [[NSUserNotification alloc] init]; //create the notification with all its information
    userNoti.title = title;
    userNoti.subtitle = subtitle;
    userNoti.informativeText = description;
    NSBeep(); //create error sound

    [[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:userNoti]; //Add and remove the notification from the notification center, we only want to display it
    [[NSUserNotificationCenter defaultUserNotificationCenter] removeDeliveredNotification:userNoti];
}