Вы можете настраивать виджеты Cast , устанавливая цвета, стили кнопок, текста и эскизов, а также выбирая типы отображаемых кнопок.
Настроить тему виджета
Виджеты платформы Cast поддерживают протокол Apple UIAppearance в UIKit для изменения внешнего вида виджетов в приложении, например положения или границы кнопки. Используйте этот протокол для оформления виджетов платформы Cast в соответствии со стилем существующих приложений.
Пример кнопки трансляции
GCKUICastButton.appearance().tintColor = UIColor.gray
[GCKUICastButton appearance].tintColor = [UIColor grayColor];
Настройте виджет напрямую
Настройте виджет напрямую, используя свойства его суперкласса. Например, обычно для настройки цвета GCKUICastButton
используется свойство tintColor:
Пример кнопки трансляции
castButton.tintColor = UIColor.gray
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 или группе виджетов.
Применение стиля к элементу пользовательского интерфейса виджета
В этой процедуре используется пример установки красного цвета основного текста мини-контроллера вашего приложения.
Просмотрите таблицу представлений и стилей , чтобы найти имя представления виджета или группы виджетов, которые вы хотите стилизовать. Имена групп отмечены знаком ▼.
Пример: вид виджета
miniController
Найдите имена атрибутов, которые вы хотите изменить, в списке свойств в соответствующем классе стиля, указанном в этой таблице.
Пример:
bodyTextColor
— это свойство классаGCKUIStyleAttributesMiniController
.Напишите код.
Пример:
// 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()
// 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
. Перелистывайте изображения, чтобы увеличить их.