Personaliza la IU de remitente de iOS

Para personalizar los widgets de Cast, configura los colores, el diseño de los botones, el texto y la apariencia de las miniaturas, y elige los tipos de botones que quieres mostrar.

Personalizar tema del widget

Los widgets del framework de Cast admiten el protocolo de UIAppearance de Apple en UIKit para cambiar la apariencia de los widgets en tu app, como la posición o el borde de un botón. Usa este protocolo para diseñar los widgets del framework de Cast de modo que coincidan con el estilo de una app existente.

Ejemplo del botón para transmitir

Swift
GCKUICastButton.appearance().tintColor = UIColor.gray
Objective-C
[GCKUICastButton appearance].tintColor = [UIColor grayColor];

Cómo personalizar el widget directamente

Personaliza un widget directamente con las propiedades de su superclase. Por ejemplo, es común personalizar el color GCKUICastButton con la propiedad tintColor:.

Ejemplo del botón para transmitir

Swift
castButton.tintColor = UIColor.gray
Objective-C
castButton.tintColor = [UIColor grayColor];

Elige los botones del control

Tanto la clase de control expandido (GCKUIExpandedMediaControlsViewController) como la clase de minicontrol (GCKUIMiniMediaControlsViewController) contienen una barra de botones, y los clientes pueden configurar qué botones se presentan en esas barras. Esto se logra mediante ambas clases de acuerdo con GCKUIMediaButtonBarProtocol.

La barra del minicontrol tiene 3 ranuras configurables para los botones:

SLOT  SLOT  SLOT
  1     2     3

La barra de control expandida tiene un botón de activación permanente de reproducción/pausa en el medio de la barra, además de 4 ranuras configurables:

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

Tu app puede obtener una referencia al control expandido con la propiedad -[defaultExpandedMediaControlsViewController] de GCKCastContext y crear un minicontrol usando -[createMiniMediaControlsViewController].

Cada ranura puede contener un botón del framework o un botón personalizado, o estar vacío. La lista de botones de control del framework se define de la siguiente manera:

Tipo de botón Descripción
GCKUIMediaButtonTypeNone No coloques un botón en esta ranura
GCKUIMediaButtonTypeCustom Botón personalizado
GCKUIMediaButtonTypePlayPauseToggle Alterna entre la reproducción y la pausa
GCKUIMediaButtonTypeSkipPrevious Salta al elemento anterior de la cola
GCKUIMediaButtonTypeSkipNext Salta al siguiente elemento de la cola
GCKUIMediaButtonTypeRewind30Seconds Retrocede la reproducción 30 segundos.
GCKUIMediaButtonTypeForward30Seconds Adelanta 30 segundos la reproducción
GCKUIMediaButtonTypeMuteToggle Silencia y activa el sonido del receptor web remoto.
GCKUIMediaButtonTypeClosedCaptions Abre un diálogo para seleccionar pistas de texto y audio

En GCKUIMediaButtonBarProtocol.h, encontrarás descripciones detalladas de lo que hace cada botón.

Agrega un botón de la siguiente manera con los métodos de GCKUIMediaButtonBarProtocol:

  • Para agregar un botón del framework a una barra, solo se requiere una llamada a -[setButtonType:atIndex:].

  • Para agregar un botón personalizado a una barra, tu app debe llamar a -[setButtonType:atIndex:] con buttonType establecido en GCKUIMediaButtonTypeCustom y, luego, llamar a -[setCustomButton:atIndex:] pasando el UIButton con el mismo índice.

Aplica estilos personalizados a tu aplicación para iOS

El SDK de Cast para iOS te permite modificar el estilo de la fuente, el color y las imágenes de los elementos de la IU de los widgets predeterminados en la app emisora de iOS, lo que les da a las vistas un aspecto similar al del resto de tu app.

En la siguiente sección, se muestra cómo aplicar estilos personalizados a cualquiera de los widgets o grupo de widgets de Cast.

Cómo aplicar un estilo a un elemento de la IU de un widget

En este procedimiento, se usa el ejemplo para configurar el color del texto del cuerpo del minicontrolador de tu app en rojo.

  1. Busca en la tabla de vistas y estilos para encontrar el nombre de la vista del widget o del grupo de widgets al que quieres aplicarle diseño. Los nombres de los grupos están marcados con el símbolo ▼.

    Ejemplo: vista de widget miniController

  2. Busca los nombres de los atributos que quieras cambiar en la lista de propiedades de la clase de estilo correspondiente que se indica en esta tabla.

    Ejemplo: bodyTextColor es una propiedad de la clase GCKUIStyleAttributesMiniController.

  3. Escribe el código.

    Ejemplo:

Swift
// 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()
Objective-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];

Usa este patrón para aplicar cualquier estilo a cualquier elemento de la IU de cualquier widget.

Tabla de vistas y estilos

En esta tabla, se muestran las siete vistas de widgets y los tres grupos (marcados con ▼) a los que puedes aplicar estilos.

Nombre de la vista Tipo Clase de estilo
castViews Grupo GCKUIStyleAttributesCastViews
deviceControl Grupo GCKUIStyleAttributesDeviceControl
deviceChooser Widget GCKUIStyleAttributesDeviceChooser
noDevicesAvailableController Widget GCKUIStyleAttributesNoDevicesAvailableController
connectionController Grupo GCKUIStyleAttributesConnectionController
navigation Widget GCKUIStyleAttributesConnectionNavigation
toolbar Widget GCKUIStyleAttributesConnectionToolbar
mediaControl Grupo GCKUIStyleAttributesMediaControl
miniController Widget GCKUIStyleAttributesMiniController
expandedController Widget GCKUIStyleAttributesExpandedController
trackSelector Widget GCKUIStyleAttributesTrackSelector
instructions Widget GCKUIStyleAttributesInstructions

Jerarquía de estilos

El singleton GCKUIStyle es el punto de entrada de la API para todas las configuraciones de estilo. Tiene la propiedad castViews, que es la raíz de la jerarquía de diseño, como se ilustra a continuación; este diagrama es una manera diferente de ver las mismas vistas y grupos que se muestran en la tabla anterior.

Puedes aplicar un estilo a un widget individual o a un grupo de widgets. La jerarquía de estilo tiene tres grupos de widgets: castViews, deviceControl y mediaControl. El rectángulo de cada grupo encierra sus widgets. Cuando aplicas un estilo a un grupo, se aplica a todos los widgets de ese grupo.

Por ejemplo, el grupo castViews te permite aplicar un estilo a todos los widgets, y el grupo deviceControl te permite aplicar un estilo solo a sus tres widgets de control de dispositivos. El widget instructions no pertenece a ningún grupo.

castViews
deviceControl mediaControl
instrucciones

dispositivo
Selector
Pantalla noDevicesAvailable
conexión
Control
mini
Controller
expandido
Controlador
pista
Selector
navegación / barra de herramientas

Nota al pie: Los nombres de los widgets de este diagrama que se muestran en dos líneas deben escribirse en código como una palabra, en una línea, sin espacios. Por ejemplo, device Chooser debe escribirse deviceChooser. Desplaza el cursor sobre las imágenes para ampliarlas.