Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы WatchKit ссылка класса WKUserNotificationInterfaceController

Опции
Развертывание Target:

На этой странице
Язык:

WKUserNotificationInterfaceController

Наследование


Соответствует


Оператор импорта


Swift

import WatchKit

Objective C

@import WatchKit;

Доступность


Доступный в iOS 8.2 и позже.

WKUserNotificationInterfaceController класс управляет настроенным пользовательским интерфейсом для локального или удаленного уведомления. Приложения, поддерживающие уведомления, могут определить один или несколько подклассов и использовать их для форматирования содержания уведомления по-другому. Например, Вы могли бы использовать пользовательский интерфейс, чтобы вывести на экран пользовательские данные от полезной нагрузки уведомления или добавить связанную графику. Пользовательские интерфейсы не должны включать кнопки, переключатели и другие интерактивные средства управления.

Для создания пользовательского интерфейса уведомления добавьте контроллер интерфейса к файлу раскадровки. Установите класс того контроллера интерфейса к имени Вашего пользовательского подкласса и сконфигурируйте объект категории уведомления. Название категории является значением, которое Вы добавляете к полезной нагрузке удаленного уведомления или присваиваете category свойство локального уведомления. Когда уведомление поступает с той категорией, Часы, OS выводит на экран Ваш пользовательский контроллер интерфейса уведомления вместо интерфейса уведомления по умолчанию.

Если Ваши действия регистров приложения для iOS для определенного названия категории и уведомления с тем названием категории наступают, WatchKit автоматически выводит на экран кнопки для каждого действия у основания интерфейса уведомления. Кнопки выведены на экран и для Ваших пользовательских интерфейсов уведомления и для интерфейса уведомления по умолчанию. (Поскольку кнопки добавляются автоматически, не добавляйте их сами к Вашему пользовательскому интерфейсу уведомления.) Контроллеры интерфейса уведомления не обрабатывают действия. Когда пользователь касается кнопки, система запускает Ваше приложение, загружает его основной контроллер интерфейса и вызывает тот объект handleActionWithIdentifier:forRemoteNotification: или handleActionWithIdentifier:forLocalNotification: метод для обработки действия.

Соедините интерфейсом с параметрами конфигурации разработчика

XCode позволяет Вам сконфигурировать информацию о своем контроллере интерфейса уведомления в Вашем файле раскадровки. Контроллер интерфейса уведомления поддерживает почти все атрибуты, связанные с его родительским классом плюс те в Таблице 1.

Табличные 1Notification атрибуты контроллера интерфейса

Атрибут

Описание

Имеет динамический интерфейс

Флажок, указывающий, поддерживается ли динамический интерфейс для уведомлений об этом типе. Динамические интерфейсы выведены на экран, когда это возможно, но WatchKit может отступить к использованию Вашего статического интерфейса из-за ограничений питания или когда Ваше расширение WatchKit не отвечает своевременно.

Объект категории уведомления, связанный с Вашими контроллерами интерфейса уведомления также, содержит конфигурируемые атрибуты. Таблица 2 перечисляет атрибуты объекта категории уведомления и их значения.

Табличные 2Notification атрибуты категории

Атрибут

Описание

Имя

Имя категории, которую поддерживает этот интерфейс. Для локальных уведомлений это значение, соответствует строке в category свойство UILocalNotification объект. Для удаленных уведомлений это - строка в category введите полезную нагрузку. Когда уведомление поступает, WatchKit использует строку категории в уведомлении для решения который из контроллеров интерфейса для отображения.

Цвет пояса

Цвет для применения к поясу наверху длинного интерфейса уведомления взгляда.

Хочет размытость пояса

Флажок, указывающий, включает ли пояс эффект размытия по фону.

Цвет заголовка

Цвет для применения к тексту, выведенному на экран в поясе.

Описание

Строка формата для отображения, когда многократные уведомления о том же типе поступают одновременно. При указании пользовательской строки можно использовать %d переменная для отражения числа уведомлений. Если Вы не указываете пользовательскую строку, WatchKit использует строку %d Notifications отразить число поступивших уведомлений.

Имеет динамический интерфейс

Флажок, указывающий, поддерживается ли динамический интерфейс для уведомлений об этом типе. Динамические интерфейсы выведены на экран, когда это возможно, но WatchKit может отступить к использованию Вашего статического интерфейса из-за ограничений питания или когда Ваше расширение WatchKit не отвечает своевременно.

  • Инициализирует и возвращает контроллер интерфейса с помощью указанных удаленных данных уведомления.

    Объявление

    Swift

    init()

    Objective C

    - (instancetype)init

    Возвращаемое значение

    Инициализированный контроллер интерфейса.

    Обсуждение

    Используйте этот метод, чтобы инициализировать Ваш контроллер интерфейса уведомления и подготовить его к дисплею. Необходимо вызвать super реализация этого метода сначала. Тот метод создает интерфейсные объекты для выходов, объявленных в Вашем классе и элементах ссылки в Вашей раскадровке.

    В некоторый момент после инициализации, WatchKit вызывает didReceiveRemoteNotification:withCompletion: или didReceiveLocalNotification:withCompletion: метод для поставки полезной нагрузки уведомления.

    Оператор импорта

    Objective C

    @import WatchKit;

    Swift

    import WatchKit

    Доступность

    Доступный в iOS 8.2 и позже.

  • Поставляет удаленную полезную нагрузку уведомления Вашему контроллеру интерфейса для обработки.

    Объявление

    Swift

    func didReceiveRemoteNotification(_ remoteNotification: [NSObject : AnyObject], withCompletion completionHandler: (WKUserNotificationInterfaceType) -> Void)

    Objective C

    - (void)didReceiveRemoteNotification:(NSDictionary *)remoteNotification withCompletion:(void (^)(WKUserNotificationInterfaceType interface))completionHandler

    Параметры

    remoteNotification

    Удаленный словарь уведомления. Содержание словаря соответствует содержанию полезной нагрузки уведомления и организовано таким же образом. Для получения информации о содержании удаленной полезной нагрузки уведомления см. Локальное и Удаленное Руководство по программированию Уведомления.

    completionHandler

    Обработчик завершения для сообщения системы, что интерфейс вывести на экран. Выполните этот обработчик завершения в конце своей реализации метода. Если Вы не выполняете этот блок своевременно, система выводит на экран статический интерфейс уведомления Вашего приложения. Этот блок не имеет никакого возвращаемого значения и берет следующий параметр:

    interface

    Интерфейс уведомления, который будет выведен на экран. Обычно, Вы возвращаете значение WKUserNotificationInterfaceTypeCustom от этого метода, но Вы могли бы возвратиться WKUserNotificationInterfaceTypeDefault когда полезная нагрузка уведомления не содержит данные, Вы ожидали.

    Обсуждение

    Прежде, чем вывести на экран Ваш интерфейс уведомления, WatchKit вызывает этот метод для поставки полезной нагрузки входящего удаленного уведомления. Реализуйте этот метод и используйте его, чтобы сохранить словарь уведомления, сконфигурировать Ваш пользовательский интерфейс уведомления и выполниться completionHandler блок как можно быстрее. Отказ выполнить обработчик завершения своевременно заставит систему отображать статический интерфейс уведомления Вашего приложения (если предоставленный).

    WatchKit может вызвать этот метод многократно. Если новое удаленное уведомление с той же категорией поступает, в то время как Ваш интерфейс уведомления активен, WatchKit вызывает метод снова с новой удаленной полезной нагрузкой уведомления.

    Оператор импорта

    Objective C

    @import WatchKit;

    Swift

    import WatchKit

    Доступность

    Доступный в iOS 8.2 и позже.

  • Поставляет локальный объект уведомления Вашему контроллеру интерфейса для обработки.

    Объявление

    Swift

    func didReceiveLocalNotification(_ localNotification: UILocalNotification, withCompletion completionHandler: (WKUserNotificationInterfaceType) -> Void)

    Objective C

    - (void)didReceiveLocalNotification:(UILocalNotification *)localNotification withCompletion:(void (^)(WKUserNotificationInterfaceType interface))completionHandler

    Параметры

    localNotification

    Локальное уведомление возражает, что вызвал уведомление.

    completionHandler

    Обработчик завершения для сообщения системы, что интерфейс вывести на экран. Выполните этот обработчик завершения в конце своей реализации метода. Если Вы не выполняете этот блок своевременно, система выводит на экран статический интерфейс уведомления Вашего приложения. Этот блок не имеет никакого возвращаемого значения и берет следующий параметр:

    interface

    Интерфейс уведомления, который будет выведен на экран. Обычно, Вы возвращаете значение WKUserNotificationInterfaceTypeCustom от этого метода, но Вы могли бы возвратиться WKUserNotificationInterfaceTypeDefault когда полезная нагрузка уведомления не содержит данные, Вы ожидали.

    Обсуждение

    Прежде, чем вывести на экран Ваш интерфейс уведомления, WatchKit вызывает этот метод для поставки полезной нагрузки входящего локального уведомления. Реализуйте этот метод и используйте его, чтобы хранить объект уведомления, сконфигурировать Ваш пользовательский интерфейс уведомления и выполниться completionHandler блок как можно быстрее. Отказ выполнить обработчик завершения своевременно заставляет систему отображать статический интерфейс уведомления Вашего приложения (если предоставленный).

    WatchKit может вызвать этот метод многократно. Если новое локальное уведомление с той же категорией поступает, в то время как Ваш интерфейс уведомления активен, WatchKit вызывает метод снова с новым локальным объектом уведомления.

    Оператор импорта

    Objective C

    @import WatchKit;

    Swift

    import WatchKit

    Доступность

    Доступный в iOS 8.2 и позже.

  • Тип уведомления взаимодействует через интерфейс для отображения.

    Объявление

    Swift

    enum WKUserNotificationInterfaceType : Int { case Default case Custom }

    Objective C

    typedef WKUserNotificationInterfaceType : NSInteger { WKUserNotificationInterfaceTypeDefault, WKUserNotificationInterfaceTypeCustom, } WKUserNotificationInterfaceType;

    Константы

    • Default

      WKUserNotificationInterfaceTypeDefault

      Постоянное указание, что система должна вывести на экран статический интерфейс уведомления Вашего приложения. При возврате этого значения система берет на себя ответственность за отображение содержания уведомления.

      Доступный в iOS 8.2 и позже.

    • Custom

      WKUserNotificationInterfaceTypeCustom

      Постоянное указание, что система должна вывести на экран Ваш пользовательский интерфейс уведомления, если это возможно.

      Доступный в iOS 8.2 и позже.

    Оператор импорта

    Objective C

    @import WatchKit;

    Swift

    import WatchKit

    Доступность

    Доступный в iOS 8.2 и позже.