Ссылка 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
Не используемый.
localizationURL
URL файла, указывающий на пакет, содержащий локализованные версии строк, выведенных на экран в диалоговом окне. Может быть
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
Не используемый.
localizationURL
URL файла, указывающий на пакет, содержащий локализованные версии строк, выведенных на экран в диалоговом окне. Может быть
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() -> CFTypeID
Objective 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
значение. Еслиtimeout
0
, функциональные блоки до пользовательского уведомления отклонены.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 = CFUserNotification
Objective 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 };
Константы
-
kCFUserNotificationStopAlertLevel
kCFUserNotificationStopAlertLevel
Уведомление очень серьезно.
Значок остановки выведен на экран по умолчанию.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationNoteAlertLevel
kCFUserNotificationNoteAlertLevel
Уведомление не очень серьезно.
Значок примечания выведен на экран по умолчанию.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationCautionAlertLevel
kCFUserNotificationCautionAlertLevel
Уведомление несколько серьезно.
Значок предупреждения выведен на экран по умолчанию.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationPlainAlertLevel
kCFUserNotificationPlainAlertLevel
Уведомление не серьезно.
Информационный значок выведен на экран по умолчанию.
Доступный в 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 };
Константы
-
kCFUserNotificationDefaultResponse
kCFUserNotificationDefaultResponse
Кнопка по умолчанию была нажата.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationAlternateResponse
kCFUserNotificationAlternateResponse
Альтернативная кнопка была нажата.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationOtherResponse
kCFUserNotificationOtherResponse
Третья кнопка была нажата.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationCancelResponse
kCFUserNotificationCancelResponse
Никакая кнопка не была нажата, и уведомление приведено к таймауту.
Доступный в OS X v10.0 и позже.
Обсуждение
Извлечь это значение из флагов ответа отклоненного уведомления (такой, как возвращено
CFUserNotificationReceiveResponse
), необходимо выполнить ПОРАЗРЯДНУЮ ОПЕРАЦИЮ И между возвращенными флагами ответа и0x3
прежде, чем сравнить значение с этими константами. -
-
Флаги, изменяющие дисплей кнопок в пользовательском диалоговом окне уведомления.
Объявление
Swift
var kCFUserNotificationNoDefaultButtonFlag: Int { get } var kCFUserNotificationUseRadioButtonsFlag: Int { get }
Objective C
enum { kCFUserNotificationNoDefaultButtonFlag = (1 << 5), kCFUserNotificationUseRadioButtonsFlag = (1 << 6) };
Константы
-
kCFUserNotificationNoDefaultButtonFlag
kCFUserNotificationNoDefaultButtonFlag
Выводит на экран диалоговое окно без значения по умолчанию, альтернативы или других кнопок.
Диалоговое окно остается на экране, пока это не испытывает таймаут, или Вы отменяете его с
CFUserNotificationCancel
. При обеспечении заголовка для кнопки по умолчанию в пользовательском словаре описания уведомления этот флаг проигнорирован, и кнопки обычно обнаруживаются.Доступный в OS X v10.0 и позже.
-
kCFUserNotificationUseRadioButtonsFlag
kCFUserNotificationUseRadioButtonsFlag
Создает группу переключателей вместо флажков для элементов в
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
Константы
-
kCFUserNotificationIconURLKey
kCFUserNotificationIconURLKey
Файл URL, указывающий на значок для отображения в диалоговом окне.
Если отсутствующий, значок по умолчанию базировался начеку, уровень используется.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationSoundURLKey
kCFUserNotificationSoundURLKey
URL файла, указывающий на звук, который будет играться, когда появится предупреждение.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationLocalizationURLKey
kCFUserNotificationLocalizationURLKey
URL файла, указывающий на пакет, содержащий локализованные версии строк, выведенных на экран в диалоговом окне.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationAlertHeaderKey
kCFUserNotificationAlertHeaderKey
Заголовок диалогового окна уведомления.
Этот ключ требуется.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationAlertMessageKey
kCFUserNotificationAlertMessageKey
Строка сообщения для отображения в диалоговом окне.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationDefaultButtonTitleKey
kCFUserNotificationDefaultButtonTitleKey
Заголовок кнопки по умолчанию.
Если отсутствующий и диалоговое окно не создается с
kCFUserNotificationNoDefaultButtonFlag
флаг, заголовок кнопки по умолчаниюOK
используется.Доступный в OS X v10.0 и позже.
-
kCFUserNotificationAlternateButtonTitleKey
kCFUserNotificationAlternateButtonTitleKey
Заголовок дополнительной альтернативной кнопки.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationOtherButtonTitleKey
kCFUserNotificationOtherButtonTitleKey
Заголовок дополнительной третьей кнопки.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationProgressIndicatorValueKey
kCFUserNotificationProgressIndicatorValueKey
Значение для указания прогресса работы.
Значение является числом между
0
и1
, для «определенного» индикатора хода выполнения или булевской переменной для «неопределенного» индикатора хода выполнения.Доступный в OS X v10.0 и позже.
-
kCFUserNotificationPopUpTitlesKey
kCFUserNotificationPopUpTitlesKey
Список строк для отображения во всплывающем меню.
Массив не может иметь больше чем 256 элементов.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationTextFieldTitlesKey
kCFUserNotificationTextFieldTitlesKey
Список заголовков для всех текстовых полей для отображения.
Если только одно текстовое поле должно быть выведено на экран, можно передать его строку заголовка непосредственно, не помещая его в массив сначала.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationCheckBoxTitlesKey
kCFUserNotificationCheckBoxTitlesKey
Список заголовков для всех флажков или переключателей для отображения.
Массив не может иметь больше чем 8 элементов. Если только один флажок должен быть выведен на экран, можно передать его строку заголовка непосредственно, не помещая его в массив сначала.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationTextFieldValuesKey
kCFUserNotificationTextFieldValuesKey
Список значений для помещения в текстовые поля. Если только одно текстовое поле должно быть выведено на экран, можно передать его строку значения непосредственно, не помещая его в массив сначала.
Доступный в OS X v10.0 и позже.
-
kCFUserNotificationPopUpSelectionKey
kCFUserNotificationPopUpSelectionKey
Элемент, выбранный из всплывающего меню.
Доступный в 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
, уведомление не будет иметь никаких кнопок. -