为OS X创建交互式通知

3

Mac 基础知识:如何打开通知中心中提到,可以创建带有文本输入字段的交互式警报:

例如,您可以直接从通知中回复聊天。

OS X 聊天警报

我该如何实现它?例如,我想要一个通知:

let notification = NSUserNotification.init()
notification.hasActionButton = true
notification.actionButtonTitle = "Agree"
notification.title = "Header"
notification.informativeText = "Text."

NSUserNotificationCenter.default.deliver(notification)
1个回答

6
横幅、警报和徽章都是NSUserNotification实例的类型。聊天回复图像是alert样式的示例。
要更改应用程序中用户NSUserNotification的显示样式,请在应用程序的Info.plist文件中将NSUserNotificationAlertStyle的值设置为alert。我应该注意到,Cocoa SDK中存在已知问题未解决 问题单。其默认值banner
然后,您可以使用“显示信息”和“显示通知按钮”来自定义警报。
请查看NSUserNotification API参考文档,了解如何自定义警报上的按钮、占位符文本等信息。
以下是我的实现方法(Swift 2.2,如果您使用的是Swift 2.3或3,则语法可能有所不同)。关键是将hasReplyButton设置为true
let notification = NSUserNotification()
notification.hasActionButton = true
notification.actionButtonTitle = "Agree"
notification.title = "Title"
notification.informativeText = "Text."
notification.responsePlaceholder = "Placeholder"
notification.hasReplyButton = true

NSUserNotificationCenter.defaultUserNotificationCenter().deliverNotification(notification)

Alert

Alert with Reply


我已经阅读了文档,谢谢。唯一不明白的是如何创建内联回复字段。有什么想法吗? - Michael Samoylov
1
@MichaelSamoylov 我在答案中添加了一个例子。 - JAL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接