5

附加动作

在上图中,您可以在 OS X 上看到两个通知。第一个来自我的应用程序,第二个来自 Apple 的 Reminders.app。在图像中,您可以看到otherButtonTitle“完成”和actionButtonTitle“稍后”。

第二个通知,即来自 Reminders.app 的通知的行为完全不同。它在鼠标悬停时使这个小箭头指向下方,表示单击时有更多动作。事实上,您只需要点击一次“稍后”,它就会为您提供更多选择。

但是,我无法获得相同的行为来处理我的通知。我没有看到鼠标悬停的小箭头,单击“稍后”也没有显示更多选项(通知只是被忽略)。只有在“稍后”上按住鼠标按钮时才会显示更多选项,这并不明显。

我在这里遗漏了一些明显的东西吗?如何让我的通知与 Reminders.app 中的通知完全相同?

4

1 回答 1

5

在尝试为同一问题寻找解决方案时,我发现 NSUserNotificationPrivate 类的这个很好的解释解释了提醒应用程序是如何做到的。

https://github.com/indragiek/NSUserNotificationPrivate

如果通知类型设置为“警报”,alternateActionButtonTitles 属性允许您设置要在操作菜单中显示的附加菜单项标题数组,通过将鼠标悬停在操作按钮上并单击箭头可以访问该操作菜单。

处理通知后,可以使用 _alternateActionIndex 属性检索操作的索引。

所以他们使用的是私有 API。正如该网站的免责声明所说,使用任何这些都会导致您的应用程序被 MAS 拒绝,并且如果 API 发生更改,则可能会中断。

于 2015-12-07T15:27:37.643 回答