Настроить пользовательский интерфейс iOS Sender

Вы можете настраивать виджеты Cast , устанавливая цвета, стили кнопок, текста и эскизов, а также выбирая типы отображаемых кнопок.

Настроить тему виджета

Виджеты платформы Cast поддерживают протокол Apple UIAppearance в UIKit для изменения внешнего вида виджетов в приложении, например положения или границы кнопки. Используйте этот протокол для оформления виджетов платформы Cast в соответствии со стилем существующих приложений.

Пример кнопки трансляции

Быстрый
GCKUICastButton.appearance().tintColor = UIColor.gray
Цель-C
[GCKUICastButton appearance].tintColor = [UIColor grayColor];

Настройте виджет напрямую

Настройте виджет напрямую, используя свойства его суперкласса. Например, обычно для настройки цвета GCKUICastButton используется свойство tintColor:

Пример кнопки трансляции

Быстрый
castButton.tintColor = UIColor.gray
Цель-C
castButton.tintColor = [UIColor grayColor];

Выберите кнопки контроллера

Как расширенный класс контроллера ( GCKUIExpandedMediaControlsViewController ), так и класс мини-контроллера ( GCKUIMiniMediaControlsViewController ) содержат панель кнопок, и клиенты могут настроить, какие кнопки будут представлены на этих панелях. Это достигается за счет того, что оба класса соответствуют GCKUIMediaButtonBarProtocol .

Панель мини-контроллера имеет 3 настраиваемых слота для кнопок:

SLOT  SLOT  SLOT
  1     2     3

Расширенная панель контроллера имеет постоянную кнопку переключения воспроизведения/паузы в середине панели, а также 4 настраиваемых слота:

SLOT  SLOT  PLAY/PAUSE  SLOT  SLOT
  1     2     BUTTON      3     4

Ваше приложение может получить ссылку на расширенный контроллер с помощью свойства -[defaultExpandedMediaControlsViewController] GCKCastContext и может создать мини-контроллер с помощью -[createMiniMediaControlsViewController] .

Каждый слот может содержать кнопку фреймворка, пользовательскую кнопку или быть пустым. Список кнопок управления фреймворком определяется как:

Тип кнопки Описание
GCKUIMediaButtonTypeNone Не размещайте кнопку в этом слоте
GCKUIMediaButtonTypeCustom Пользовательская кнопка
GCKUIMediaButtonTypePlayPauseToggle Переключение между воспроизведением и паузой
GCKUIMediaButtonTypeSkipPrevious Переходит к предыдущему элементу в очереди
GCKUIMediaButtonTypeSkipNext Переход к следующему элементу в очереди
GCKUIMediaButtonTypeRewind30Seconds Перематывает воспроизведение на 30 секунд назад.
GCKUIMediaButtonTypeForward30Seconds Пропускает воспроизведение вперед на 30 секунд
GCKUIMediaButtonTypeMuteToggle Отключает и включает звук удаленного веб-приемника
GCKUIMediaButtonTypeClosedCaptions Открывает диалоговое окно для выбора текстовых и звуковых дорожек.

Подробное описание того, что делает каждая кнопка, можно найти в GCKUIMediaButtonBarProtocol.h .

Добавьте кнопку следующим образом, используя методы GCKUIMediaButtonBarProtocol :

  • Чтобы добавить кнопку фреймворка на панель, требуется только вызов -[setButtonType:atIndex:] .

  • Чтобы добавить пользовательскую кнопку на панель, ваше приложение должно вызвать -[setButtonType:atIndex:] с buttonType , для которого задано значение GCKUIMediaButtonTypeCustom , а затем вызвать -[setCustomButton:atIndex:] , передав UIButton с тем же индексом.

Применение пользовательских стилей к вашему приложению iOS

Cast iOS SDK позволяет вам стилизовать шрифт, цвет и изображения элементов пользовательского интерфейса виджетов по умолчанию в отправителе iOS, придавая представлениям внешний вид, соответствующий остальной части вашего приложения.

В следующем разделе показано, как применять пользовательские стили к любому виджету Cast или группе виджетов.

Применение стиля к элементу пользовательского интерфейса виджета

В этой процедуре используется пример установки красного цвета основного текста мини-контроллера вашего приложения.

  1. Просмотрите таблицу представлений и стилей , чтобы найти имя представления виджета или группы виджетов, которые вы хотите стилизовать. Имена групп отмечены знаком ▼.

    Пример: вид виджета miniController

  2. Найдите имена атрибутов, которые вы хотите изменить, в списке свойств в соответствующем классе стиля, указанном в этой таблице.

    Пример: bodyTextColor — это свойство класса GCKUIStyleAttributesMiniController .

  3. Напишите код.

    Пример:

Быстрый
// Get the shared instance of GCKUIStyle
let castStyle = GCKUIStyle.sharedInstance()
// Set the property of the desired cast widget.
castStyle.castViews.mediaControl.miniController.bodyTextColor = UIColor.red
// Refresh all currently visible views with the assigned styles.
castStyle.apply()
Цель-C
// Get the shared instance of GCKUIStyle.
GCKUIStyle *castStyle = [GCKUIStyle sharedInstance];
// Set the property of the desired cast widget.
castStyle.castViews.mediaControl.miniController.bodyTextColor = [UIColor redColor];
// Refresh all currently visible views with the assigned styles.
[castStyle applyStyle];

Используйте этот шаблон для применения любого стиля к любому элементу пользовательского интерфейса любого виджета.

Таблица видов и стилей

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

Имя представления Тип Класс стиля
castViews Группа GCKUIStyleAttributesCastViews
deviceControl Группа GCKUIStyleAttributesDeviceControl
deviceChooser Виджет GCKUIStyleAttributesDeviceChooser
noDevicesAvailableController Виджет GCKUIStyleAttributesNoDevicesAvailableController
connectionController Группа GCKUIStyleAttributesConnectionController
navigation Виджет GCKUIStyleAttributesConnectionNavigation
toolbar Виджет GCKUIStyleAttributesConnectionToolbar
mediaControl Группа GCKUIStyleAttributesMediaControl
miniController Виджет GCKUIStyleAttributesMiniController
expandedController Виджет GCKUIStyleAttributesExpandedController
trackSelector Виджет GCKUIStyleAttributesTrackSelector
instructions Виджет GCKUIStyleAttributesИнструкции

Иерархия стилей

Синглтон GCKUIStyle — это точка входа API для всех настроек стиля. У него есть свойство castViews , которое является корнем иерархии стилей , как показано ниже; эта диаграмма представляет собой другой способ взглянуть на те же представления и группы, показанные в предыдущей таблице .

Вы можете применить стиль к отдельному виджету или к группе виджетов. В иерархии стилей есть три группы виджетов: castViews, deviceControl и mediaControl. Прямоугольник каждой группы заключает в себе свои виджеты. Применение стиля к группе применяет его ко всем виджетам в этой группе.

Например, группа castViews позволяет применить стиль ко всем виджетам, а группа deviceControl позволяет применить стиль только к трем виджетам управления устройствами. Виджет instructions не принадлежит ни к одной группе.

castViews
устройствоУправление медиаКонтроль
инструкции

устройство
Селектор
noDevicesДоступный экран
связь
Контроллер
мини
Контроллер
расширенный
Контроллер
отслеживать
Селектор
навигация / панель инструментов

Сноска: имена виджетов на этой диаграмме, показанные в двух строках, должны быть записаны в коде как одно слово в одной строке без пробелов. Например, device Chooser следует писать deviceChooser . Перелистывайте изображения, чтобы увеличить их.