Ссылка CFUserNotification
A CFUserNotification возразите представляет простое диалоговое окно на экране и дополнительно получает обратную связь от пользователя. Содержание диалогового окна может включать заголовок, сообщение, значок, текстовые поля, кнопку всплывающего меню, переключатели или флажки и до трех обычных кнопок. Использовать CFUserNotification в процессах, которые иначе не имеют пользовательских интерфейсов, но, возможно, нуждаются в случайном взаимодействии с пользователем.
Вы создаете пользовательское уведомление с CFUserNotificationCreate функция. Вы передаете в словаре, ключи которого описывают элементы для размещения в диалоговое окно. (См. Диалоговые Ключи Описания для списка ключей.) Ряд флагов, переданных функции, определяет, среди прочего, используются ли безопасные текстовые поля (такой что касается полей пароля), или переключатели, или флажки используются, и какая из этих кнопок проверяется по умолчанию. Можно также указать тайм-аут для диалогового окна, когда диалоговое окно отменяет себя, если пользователь не отвечает в выделенном периоде времени.
Пользовательское уведомление выводит на экран свое диалоговое окно, как только оно создается. Если какой-либо ответ требуется, он может ожидаться одним из двух способов: любой синхронно, с помощью CFUserNotificationReceiveResponse, или асинхронно, с помощью источника цикла выполнения, создаваемого с CFUserNotificationCreateRunLoopSource. CFUserNotificationReceiveResponse имеет параметр тайм-аута, определяющий, сколько времени он блокирует (нуль, означающий неопределенно), и его можно вызвать как много раз по мере необходимости, пока не наступает ответ. Если пользовательское уведомление еще не получило ответ, оно может быть обновлено с новой информацией, или оно может быть отменено. Пользовательские уведомления не могут быть снова использованы.
CFUserNotification обеспечивает две функции удобства, CFUserNotificationDisplayNotice и CFUserNotificationDisplayAlert, вывести на экран очень основные диалоговые окна, или не требующие никакого ответа от пользователя или требующие, чтобы только единственная кнопка была нажата, соответственно.
-
Отменяет пользовательское диалоговое окно уведомления.
Объявление
Swift
func CFUserNotificationCancel(_userNotification: CFUserNotification!) -> Int32Objective C
SInt32 CFUserNotificationCancel ( CFUserNotificationRef userNotification );Параметры
userNotificationПользовательское уведомление отмене.
Возвращаемое значение
0если отмена была успешна; не -0значение иначе.Обсуждение
Необходимо отменить пользовательское уведомление, если Вы хотите удалить его диалоговое окно из экрана, прежде чем пользователь отклонит его. Не достаточно просто выпустить объект.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращается флаг раньше устанавливал или тестировал состояние флажка.
Объявление
Swift
func CFUserNotificationCheckBoxChecked(_idx: CFIndex) -> CFOptionFlagsObjective C
CFOptionFlags CFUserNotificationCheckBoxChecked ( CFIndex i );Параметры
idxИндекс флажка, чтобы установить или протестировать. Индекс соответствует порядку, в котором заголовки флажка перечислены в
kCFUserNotificationCheckBoxTitlesKeyмассив пользовательского словаря описания уведомления.idxдолжен быть в диапазоне0к7.Возвращаемое значение
Флаг, который может использоваться любой для установки состояния флажка при создании пользовательского уведомления с
CFUserNotificationCreateили протестировать состояние флажка возвратило в пользователе флаги ответа уведомления, такой как отCFUserNotificationReceiveResponse, когда отклонено диалоговое окно уведомления.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Создает объект CFUserNotification и выводит на экран его диалоговое окно уведомления на экране.
Объявление
Swift
func CFUserNotificationCreate(_allocator: CFAllocator!, _timeout: CFTimeInterval, _flags: CFOptionFlags, _error: UnsafeMutablePointer<Int32>, _dictionary: CFDictionary!) -> CFUserNotification!Objective C
CFUserNotificationRef CFUserNotificationCreate ( CFAllocatorRef allocator, CFTimeInterval timeout, CFOptionFlags flags, SInt32 *error, CFDictionaryRef dictionary );Параметры
allocatorСредство выделения для использования для выделения памяти для нового объекта. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.timeoutЕсли пользователь не отвечает, время для ожидания перед диалоговым окном уведомления отклоняет себя. Если
0, уведомление никогда не испытывает таймаут.flagsРяд флагов, описывающих тип уведомления дисплею. Эти флаги указывают предупредительный уровень для уведомления (см. Предупредительные Уровни), определите или переключатели, или флажки должны использоваться (см. Флаги Кнопки), укажите, который, если таковые имеются, этих кнопок проверяются по умолчанию (см.
CFUserNotificationCheckBoxChecked), укажите, должно ли какое-либо из текстовых полей быть безопасными текстовыми полями (см.CFUserNotificationSecureTextField), и определите, какой элемент всплывающего меню, если есть должен быть выбран по умолчанию (см.CFUserNotificationPopUpSelection). Объедините эти флаги вместе путем выполнения работы битового «ИЛИ» со всеми отдельными флагами.errorПо возврату содержит целочисленный код ошибки. Если
0, пользовательское уведомление было успешно создано и выведено на экран.dictionaryОписание элементов для отображения в диалоговом окне уведомления. Возможные ключи перечислены в Диалоговых Ключах Описания. Словарь должен содержать значение для ключа
kCFUserNotificationAlertHeaderKey, но другие ключи являются дополнительными.Возвращаемое значение
Новый объект CFUserNotification. Владение соблюдает Создать Правило.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Создает источник цикла выполнения для пользовательского уведомления.
Объявление
Swift
func CFUserNotificationCreateRunLoopSource(_allocator: CFAllocator!, _userNotification: CFUserNotification!, _callout: CFUserNotificationCallBack, _order: CFIndex) -> CFRunLoopSource!Objective C
CFRunLoopSourceRef CFUserNotificationCreateRunLoopSource ( CFAllocatorRef allocator, CFUserNotificationRef userNotification, CFUserNotificationCallBack callout, CFIndex order );Параметры
allocatorСредство выделения для использования для выделения памяти для нового объекта. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.userNotificationПользовательское уведомление использованию.
calloutФункция обратного вызова для вызова, когда отклонено пользовательское диалоговое окно уведомления.
orderПоказатель приоритета, указывающий порядок, в котором обрабатываются выполненные источники цикла. Пользовательские уведомления в настоящее время игнорируют этот параметр. Передача
0для этого значения.Возвращаемое значение
Новый объект CFRunLoopSource. Владение соблюдает Создать Правило.
Обсуждение
Источник цикла выполнения должен быть добавлен к циклу выполнения, прежде чем он сможет запустить и вызвать свою функцию обратного вызова. Для добавления источника к циклу выполнения использовать
CFRunLoopAddSource.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Выводит на экран пользовательское диалоговое окно уведомления и ожидает пользовательского ответа.
Объявление
Swift
func CFUserNotificationDisplayAlert(_timeout: CFTimeInterval, _flags: CFOptionFlags, _iconURL: CFURL!, _soundURL: CFURL!, _localizationURL: CFURL!, _alertHeader: CFString!, _alertMessage: CFString!, _defaultButtonTitle: CFString!, _alternateButtonTitle: CFString!, _otherButtonTitle: CFString!, _responseFlags: UnsafeMutablePointer<CFOptionFlags>) -> Int32Objective C
SInt32 CFUserNotificationDisplayAlert ( CFTimeInterval timeout, CFOptionFlags flags, CFURLRef iconURL, CFURLRef soundURL, CFURLRef localizationURL, CFStringRef alertHeader, CFStringRef alertMessage, CFStringRef defaultButtonTitle, CFStringRef alternateButtonTitle, CFStringRef otherButtonTitle, CFOptionFlags *responseFlags );Параметры
timeoutКоличество времени для ожидания пользователя для отклонения диалогового окна уведомления перед диалоговым окном отклоняет себя. Передача
0для имения диалогового окна никогда не испытывают таймаут.flagsРяд флагов, описывающих тип диалогового окна уведомления для отображения. Значение является обычно просто предупредительным уровнем от Предупредительных Уровней. Если Вы не хотите выведенную на экран кнопку по умолчанию, выполните работу битового «ИЛИ» с предупредительным уровнем и константой
kCFUserNotificationNoDefaultButtonFlag.iconURLФайл URL, указывающий на значок для отображения в диалоговом окне. Если
NULL, значок по умолчанию используется на основе предупредительного уровня уведомления, указанного вflags.soundURLНе используемый.
localizationURLURL файла, указывающий на пакет, содержащий локализованные версии строк, выведенных на экран в диалоговом окне. Может быть
NULL.alertHeaderЗаголовок диалогового окна уведомления. Не может быть
NULL.alertMessageСтрока сообщения для отображения в диалоговом окне. Может быть
NULL.defaultButtonTitleЗаголовок кнопки по умолчанию. Если
NULL, строкаOKиспользуется.alternateButtonTitleЗаголовок дополнительной альтернативной кнопки. Может быть
NULL.otherButtonTitleЗаголовок дополнительной третьей кнопки. Может быть
NULL.responseFlagsПо возврату, содержит идентификацию флагов, как было отклонено уведомление. Посмотрите Коды Ответа для подробных данных.
Возвращаемое значение
0если отмена была успешна; не -0значение иначе.Обсуждение
Это функциональные блоки выполнение текущего потока до диалогового окна отклонено, или пользователем или путем таймаута.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Выводит на экран пользовательское диалоговое окно уведомления, которому не нужен пользовательский ответ.
Объявление
Swift
func CFUserNotificationDisplayNotice(_timeout: CFTimeInterval, _flags: CFOptionFlags, _iconURL: CFURL!, _soundURL: CFURL!, _localizationURL: CFURL!, _alertHeader: CFString!, _alertMessage: CFString!, _defaultButtonTitle: CFString!) -> Int32Objective C
SInt32 CFUserNotificationDisplayNotice ( CFTimeInterval timeout, CFOptionFlags flags, CFURLRef iconURL, CFURLRef soundURL, CFURLRef localizationURL, CFStringRef alertHeader, CFStringRef alertMessage, CFStringRef defaultButtonTitle );Параметры
timeoutКоличество времени для ожидания пользователя для отклонения диалогового окна уведомления перед диалоговым окном отклоняет себя. Передача
0для имения диалогового окна никогда не испытывают таймаут.flagsРяд флагов, описывающих тип диалогового окна уведомления для отображения. Значение является обычно просто предупредительным уровнем от Предупредительных Уровней. Если Вы не хотите выведенную на экран кнопку по умолчанию, выполните работу битового «ИЛИ» с предупредительным уровнем и константой
kCFUserNotificationNoDefaultButtonFlag.iconURLФайл URL, указывающий на значок для отображения в диалоговом окне. Если
NULL, значок по умолчанию используется на основе предупредительного уровня уведомления, указанного вflags.soundURLНе используемый.
localizationURLURL файла, указывающий на пакет, содержащий локализованные версии строк, выведенных на экран в диалоговом окне. Может быть
NULL.alertHeaderЗаголовок диалогового окна уведомления. Не может быть
NULL.alertMessageСтрока сообщения для отображения в диалоговом окне. Может быть
NULL.defaultButtonTitleЗаголовок кнопки по умолчанию. Если
NULL, строкаOKиспользуется.Возвращаемое значение
0если отмена была успешна; не -0значение иначе.Обсуждение
Эта функция сразу возвращается. Это не ожидает пользовательского ответа после отображения диалогового окна.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает словарь, содержащий все значения текстового поля от отклоненного диалогового окна уведомления.
Объявление
Swift
func CFUserNotificationGetResponseDictionary(_userNotification: CFUserNotification!) -> CFDictionary!Objective C
CFDictionaryRef CFUserNotificationGetResponseDictionary ( CFUserNotificationRef userNotification );Параметры
userNotificationПользовательское уведомление использованию.
Возвращаемое значение
Словарь, содержащий значения всех текстовых полей в
userNotificationкогда это было отклонено. Значения находятся в массиве, сохраненном ключомkCFUserNotificationTextFieldValuesKey. Владение соблюдает Получить Правило.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Извлекает значения текстовых полей от отклоненного диалогового окна уведомления.
Объявление
Swift
func CFUserNotificationGetResponseValue(_userNotification: CFUserNotification!, _key: CFString!, _idx: CFIndex) -> CFString!Objective C
CFStringRef CFUserNotificationGetResponseValue ( CFUserNotificationRef userNotification, CFStringRef key, CFIndex idx );Параметры
userNotificationПользовательское уведомление использованию.
keyКлюч словаря идентификация текстовых полей для использования. В настоящее время, только
kCFUserNotificationTextFieldValuesKeyподдерживается.idxИндекс текстового поля оценивает возврату. Индекс соответствует порядку, в котором текстовые поля перечислены в
kCFUserNotificationTextFieldTitlesKeyмассив в пользовательском словаре описания уведомления.Возвращаемое значение
Значение текстового поля, идентифицированного
keyиidx. Владение соблюдает Получить Правило.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает идентификатор типа для
CFUserNotificationнепрозрачный тип.Объявление
Swift
func CFUserNotificationGetTypeID() -> CFTypeIDObjective C
CFTypeID CFUserNotificationGetTypeID ( void );Возвращаемое значение
Идентификатор типа для
CFUserNotificationнепрозрачный тип.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращается флаг раньше устанавливал выбранный элемент всплывающего меню.
Объявление
Swift
func CFUserNotificationPopUpSelection(_idx: CFIndex) -> CFOptionFlagsObjective C
CFOptionFlags CFUserNotificationPopUpSelection ( CFIndex n );Параметры
idxИндекс элемента всплывающего меню для выбора. Индекс соответствует порядку, в котором элементы всплывающего меню перечислены в
kCFUserNotificationPopUpTitlesKeyмассив пользовательского словаря описания уведомления.idxдолжен быть в диапазоне0к255.Возвращаемое значение
Флаг, который может использоваться для установки выбранного элемента всплывающего меню при создании пользовательского уведомления с
CFUserNotificationCreate.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Ожидает пользователя для ответа на уведомление или уведомления для таймаута.
Объявление
Swift
func CFUserNotificationReceiveResponse(_userNotification: CFUserNotification!, _timeout: CFTimeInterval, _responseFlags: UnsafeMutablePointer<CFOptionFlags>) -> Int32Objective C
SInt32 CFUserNotificationReceiveResponse ( CFUserNotificationRef userNotification, CFTimeInterval timeout, CFOptionFlags *responseFlags );Параметры
userNotificationПользовательское уведомление использованию.
timeoutКоличество времени для ожидания пользователя для ответа на
userNotificationили для уведомления для таймаута. Если ни один не происходит преждеtimeoutпередачи, эта функция возвращается не -0значение. Еслиtimeout0, функциональные блоки до пользовательского уведомления отклонены.responseFlagsПо возврату, содержит идентификацию флагов, как уведомление было отклонено, состояние любых флажков и выбранный элемент всплывающего меню. Биты 0-1 из значения содержат идентификатор для кнопки, нажатой пользователем (см. Коды Ответа). Извлеките идентификатор путем выполнения ПОРАЗРЯДНОЙ ОПЕРАЦИИ И с
0x3. Биты 8-15 изresponseFlagsсодержите состояние до 8 флажков или переключателей, если существующий. Извлеките флаги путем выполнения ПОРАЗРЯДНЫХ ОПЕРАЦИЙ И с возвращаемым значениемCFUserNotificationCheckBoxChecked. Биты 24-31 содержат индекс элемента, выбранного во всплывающем меню, если существующий. Извлеките индекс путем выполнения 24-разрядного сдвига вправо:responseFlags >> 24.Возвращаемое значение
0если отмена была успешна; не -0значение иначе.Обсуждение
Используйте эту функцию для опроса пользовательского уведомления относительно пользовательского ответа. Можно вызвать его любое число раз на том же пользовательском уведомлении.
Чтобы избежать опрашивать и блокировать выполнение Вашего потока, можно создать источник цикла выполнения для пользовательского уведомления с
CFUserNotificationCreateRunLoopSource. Когда диалоговое окно будет отклонено, Вы тогда получите обратный вызов.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращается флаг раньше устанавливал безопасное состояние текстового поля.
Объявление
Swift
func CFUserNotificationSecureTextField(_idx: CFIndex) -> CFOptionFlagsObjective C
CFOptionFlags CFUserNotificationSecureTextField ( CFIndex i );Параметры
idxИндекс текстового поля для создания безопасным. Индекс соответствует порядку, в котором текстовые поля перечислены в
kCFUserNotificationTextFieldTitlesKeyмассив пользовательского словаря описания уведомления.idxдолжен быть в диапазоне от 0 до 7.Возвращаемое значение
Флаг, который может использоваться для установки безопасного состояния текстового поля при создании пользовательского уведомления с
CFUserNotificationCreate.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Обновляет диалоговое окно уведомления отображаемого пользователя с новой информацией интерфейса пользователя.
Объявление
Swift
func CFUserNotificationUpdate(_userNotification: CFUserNotification!, _timeout: CFTimeInterval, _flags: CFOptionFlags, _dictionary: CFDictionary!) -> Int32Objective C
SInt32 CFUserNotificationUpdate ( CFUserNotificationRef userNotification, CFTimeInterval timeout, CFOptionFlags flags, CFDictionaryRef dictionary );Параметры
userNotificationПользовательское уведомление обновлению.
timeoutНовый тайм-аут оценивает за диалоговое окно.
flagsРяд флагов, описывающих тип уведомления дисплею. Посмотрите
CFUserNotificationCreateдля подробных данных.dictionaryОписание элементов для отображения в диалоговом окне уведомления. Возможные ключи перечислены в Диалоговых Ключах Описания.
Возвращаемое значение
0если отмена была успешна; не -0значение иначе.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Когда асинхронное пользовательское диалоговое окно уведомления отклонено, обратный вызов вызвал.
Объявление
Swift
typealias CFUserNotificationCallBack = CFunctionPointer<((CFUserNotification!, CFOptionFlags) -> Void)>Objective C
typedef void (*CFUserNotificationCallBack) ( CFUserNotificationRef userNotification, CFOptionFlags responseFlags );Параметры
userNotificationОтклоненное пользовательское уведомление.
responseFlagsПо возврату, содержит идентификацию флагов, как уведомление было отклонено, состояние любых флажков и выбранный пункт всплывающего меню. Посмотрите
CFUserNotificationReceiveResponseдля подробных данных.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Ссылка на пользовательский объект уведомления.
Объявление
Swift
typealias CFUserNotificationRef = CFUserNotificationObjective C
typedef struct __CFUserNotification *CFUserNotificationRef;Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Флаги, идентифицирующие серьезность пользовательского уведомления.
Объявление
Swift
var kCFUserNotificationStopAlertLevel: Int { get } var kCFUserNotificationNoteAlertLevel: Int { get } var kCFUserNotificationCautionAlertLevel: Int { get } var kCFUserNotificationPlainAlertLevel: Int { get }Objective C
enum { kCFUserNotificationStopAlertLevel = 0, kCFUserNotificationNoteAlertLevel = 1, kCFUserNotificationCautionAlertLevel = 2, kCFUserNotificationPlainAlertLevel = 3 };Константы
-
kCFUserNotificationStopAlertLevelkCFUserNotificationStopAlertLevelУведомление очень серьезно.
Значок остановки выведен на экран по умолчанию.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationNoteAlertLevelkCFUserNotificationNoteAlertLevelУведомление не очень серьезно.
Значок примечания выведен на экран по умолчанию.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationCautionAlertLevelkCFUserNotificationCautionAlertLevelУведомление несколько серьезно.
Значок предупреждения выведен на экран по умолчанию.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationPlainAlertLevelkCFUserNotificationPlainAlertLevelУведомление не серьезно.
Информационный значок выведен на экран по умолчанию.
Доступный в OS X v10.0 и позже.
Обсуждение
При указании значка для отображения в диалоговом окне, этот значок переопределяет значок по умолчанию, используемый для каждого предупредительного уровня.
-
-
Коды ответа, идентифицирующие кнопку, нажатую для отклонения диалогового окна уведомления.
Объявление
Swift
var kCFUserNotificationDefaultResponse: Int { get } var kCFUserNotificationAlternateResponse: Int { get } var kCFUserNotificationOtherResponse: Int { get } var kCFUserNotificationCancelResponse: Int { get }Objective C
enum { kCFUserNotificationDefaultResponse = 0, kCFUserNotificationAlternateResponse = 1, kCFUserNotificationOtherResponse = 2, kCFUserNotificationCancelResponse = 3 };Константы
-
kCFUserNotificationDefaultResponsekCFUserNotificationDefaultResponseКнопка по умолчанию была нажата.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationAlternateResponsekCFUserNotificationAlternateResponseАльтернативная кнопка была нажата.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationOtherResponsekCFUserNotificationOtherResponseТретья кнопка была нажата.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationCancelResponsekCFUserNotificationCancelResponseНикакая кнопка не была нажата, и уведомление приведено к таймауту.
Доступный в OS X v10.0 и позже.
Обсуждение
Извлечь это значение из флагов ответа отклоненного уведомления (такой, как возвращено
CFUserNotificationReceiveResponse), необходимо выполнить ПОРАЗРЯДНУЮ ОПЕРАЦИЮ И между возвращенными флагами ответа и0x3прежде, чем сравнить значение с этими константами. -
-
Флаги, изменяющие дисплей кнопок в пользовательском диалоговом окне уведомления.
Объявление
Swift
var kCFUserNotificationNoDefaultButtonFlag: Int { get } var kCFUserNotificationUseRadioButtonsFlag: Int { get }Objective C
enum { kCFUserNotificationNoDefaultButtonFlag = (1 << 5), kCFUserNotificationUseRadioButtonsFlag = (1 << 6) };Константы
-
kCFUserNotificationNoDefaultButtonFlagkCFUserNotificationNoDefaultButtonFlagВыводит на экран диалоговое окно без значения по умолчанию, альтернативы или других кнопок.
Диалоговое окно остается на экране, пока это не испытывает таймаут, или Вы отменяете его с
CFUserNotificationCancel. При обеспечении заголовка для кнопки по умолчанию в пользовательском словаре описания уведомления этот флаг проигнорирован, и кнопки обычно обнаруживаются.Доступный в OS X v10.0 и позже.
-
kCFUserNotificationUseRadioButtonsFlagkCFUserNotificationUseRadioButtonsFlagСоздает группу переключателей вместо флажков для элементов в
kCFUserNotificationCheckBoxTitlesKeyмассив в пользовательском словаре описания уведомления.Доступный в OS X v10.0 и позже.
Обсуждение
Вы указываете эти флаги при создании пользовательского уведомления с
CFUserNotificationCreate. -
-
Ключи использовали в пользовательском словаре описания уведомления, описывающем содержание диалогового окна уведомления для отображения.
Объявление
Swift
let kCFUserNotificationIconURLKey: CFString! let kCFUserNotificationSoundURLKey: CFString! let kCFUserNotificationLocalizationURLKey: CFString! let kCFUserNotificationAlertHeaderKey: CFString! let kCFUserNotificationAlertMessageKey: CFString! let kCFUserNotificationDefaultButtonTitleKey: CFString! let kCFUserNotificationAlternateButtonTitleKey: CFString! let kCFUserNotificationOtherButtonTitleKey: CFString! let kCFUserNotificationProgressIndicatorValueKey: CFString! let kCFUserNotificationPopUpTitlesKey: CFString! let kCFUserNotificationTextFieldTitlesKey: CFString! let kCFUserNotificationCheckBoxTitlesKey: CFString! let kCFUserNotificationTextFieldValuesKey: CFString! let kCFUserNotificationPopUpSelectionKey: CFString!Objective C
const CFStringRef kCFUserNotificationIconURLKey; const CFStringRef kCFUserNotificationSoundURLKey; const CFStringRef kCFUserNotificationLocalizationURLKey; const CFStringRef kCFUserNotificationAlertHeaderKey; const CFStringRef kCFUserNotificationAlertMessageKey; const CFStringRef kCFUserNotificationDefaultButtonTitleKey; const CFStringRef kCFUserNotificationAlternateButtonTitleKey; const CFStringRef kCFUserNotificationOtherButtonTitleKey; const CFStringRef kCFUserNotificationProgressIndicatorValueKey; const CFStringRef kCFUserNotificationPopUpTitlesKey; const CFStringRef kCFUserNotificationTextFieldTitlesKey; const CFStringRef kCFUserNotificationCheckBoxTitlesKey; const CFStringRef kCFUserNotificationTextFieldValuesKey; const CFStringRef kCFUserNotificationPopUpSelectionKeyКонстанты
-
kCFUserNotificationIconURLKeykCFUserNotificationIconURLKeyФайл URL, указывающий на значок для отображения в диалоговом окне.
Если отсутствующий, значок по умолчанию базировался начеку, уровень используется.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationSoundURLKeykCFUserNotificationSoundURLKeyURL файла, указывающий на звук, который будет играться, когда появится предупреждение.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationLocalizationURLKeykCFUserNotificationLocalizationURLKeyURL файла, указывающий на пакет, содержащий локализованные версии строк, выведенных на экран в диалоговом окне.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationAlertHeaderKeykCFUserNotificationAlertHeaderKeyЗаголовок диалогового окна уведомления.
Этот ключ требуется.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationAlertMessageKeykCFUserNotificationAlertMessageKeyСтрока сообщения для отображения в диалоговом окне.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationDefaultButtonTitleKeykCFUserNotificationDefaultButtonTitleKeyЗаголовок кнопки по умолчанию.
Если отсутствующий и диалоговое окно не создается с
kCFUserNotificationNoDefaultButtonFlagфлаг, заголовок кнопки по умолчаниюOKиспользуется.Доступный в OS X v10.0 и позже.
-
kCFUserNotificationAlternateButtonTitleKeykCFUserNotificationAlternateButtonTitleKeyЗаголовок дополнительной альтернативной кнопки.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationOtherButtonTitleKeykCFUserNotificationOtherButtonTitleKeyЗаголовок дополнительной третьей кнопки.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationProgressIndicatorValueKeykCFUserNotificationProgressIndicatorValueKeyЗначение для указания прогресса работы.
Значение является числом между
0и1, для «определенного» индикатора хода выполнения или булевской переменной для «неопределенного» индикатора хода выполнения.Доступный в OS X v10.0 и позже.
-
kCFUserNotificationPopUpTitlesKeykCFUserNotificationPopUpTitlesKeyСписок строк для отображения во всплывающем меню.
Массив не может иметь больше чем 256 элементов.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationTextFieldTitlesKeykCFUserNotificationTextFieldTitlesKeyСписок заголовков для всех текстовых полей для отображения.
Если только одно текстовое поле должно быть выведено на экран, можно передать его строку заголовка непосредственно, не помещая его в массив сначала.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationCheckBoxTitlesKeykCFUserNotificationCheckBoxTitlesKeyСписок заголовков для всех флажков или переключателей для отображения.
Массив не может иметь больше чем 8 элементов. Если только один флажок должен быть выведен на экран, можно передать его строку заголовка непосредственно, не помещая его в массив сначала.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationTextFieldValuesKeykCFUserNotificationTextFieldValuesKeyСписок значений для помещения в текстовые поля. Если только одно текстовое поле должно быть выведено на экран, можно передать его строку значения непосредственно, не помещая его в массив сначала.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationPopUpSelectionKeykCFUserNotificationPopUpSelectionKeyЭлемент, выбранный из всплывающего меню.
Доступный в OS X v10.3 и позже.
Обсуждение
При создании пользовательского уведомления с
CFUserNotificationCreate, словарь описания должен иметь значение дляkCFUserNotificationAlertHeaderKey. Все другие ключи являются дополнительными.Ключи заголовка кнопки должны быть поданы справа налево порядок — поэтому необходимо использовать
kCFUserNotificationDefaultButtonTitleKeyпостоянный для самой правой кнопки, даже если это - концептуально не кнопка «по умолчанию» (например, если Вы хотите единственную кнопку «Cancel», которая не должна иметь цвета, не должен пульсировать и не должен иметь возврата для ключевого эквивалента). Если, однако, Вы устанавливаетеkCFUserNotificationNoDefaultButtonFlag, самая правая кнопка не ведет себя как кнопка по умолчанию (несмотря на то, что это все еще будет кнопка «по умолчанию» в смысле использованияkCFUserNotificationDefaultButtonTitleKeyиkCFUserNotificationDefaultResponse). Следующий фрагмент кода показывает, как можно создать уведомление, содержащее единственную кнопку «Cancel», не ведущую себя как кнопка по умолчанию.const void* keys[] = {kCFUserNotificationAlertHeaderKey,kCFUserNotificationProgressIndicatorValueKey,kCFUserNotificationDefaultButtonTitleKey};const void* values[] = {CFSTR("Progress"),kCFBooleanTrue,CFSTR("Cancel")};CFDictionaryRef parameters = CFDictionaryCreate(0, keys, values,sizeof(keys)/sizeof(*keys), &kCFTypeDictionaryKeyCallBacks,&kCFTypeDictionaryValueCallBacks);SInt32 err = 0;CFUserNotificationCreate(kCFAllocatorDefault, 0,kCFUserNotificationPlainAlertLevel | kCFUserNotificationNoDefaultButtonFlag,&err, parameters);
Если Вы устанавливаете
kCFUserNotificationNoDefaultButtonFlagотметьте и не указывайте значение дляkCFUserNotificationDefaultButtonTitleKey, уведомление не будет иметь никаких кнопок. -
