2016-09-14 3 views
2

Mac Basics: Notifications keep you informed состояний, что можно создать интерактивное оповещение с полем ввода текста:Создание интерактивных уведомлений для OS X

Например, вы можете ответить на чат прямо из уведомления.

OS X chat alert

Как я могу это осуществить? Например, у меня есть уведомление:

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

NSUserNotificationCenter.default.deliver(notification) 

ответ

4

Баннеры, оповещение и Жетоны все типы NSUserNotification экземпляров. Образ ответа чата является примером стиля alert.

Чтобы изменить стиль отображения пользовательского NSUserNotification для вашего приложения, установите значение NSUserNotificationAlertStyle в alert в Info.plist файл приложения. Я должен отметить, что есть known issues и openradars с этим в SDK Cocoa. default value для этого banner.

Чтобы настроить оповещение, вы можете использовать отображаемую информацию и отображаемые кнопки уведомлений.

См. NSUserNotification API reference для получения информации о том, как вы можете настроить кнопки, текст заполнителя и т. Д. В сообщении.

Вот как я это сделал (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

+0

Я прочитал документацию, спасибо. Единственное, что я не понимаю, - это создать встроенное поле ответа. Есть идеи? –

+1

@MichaelSamoylov Обновлен мой ответ на примере. – JAL

Смежные вопросы