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
GCKUICastButton.appearance().tintColor = UIColor.gray
[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
castButton.tintColor = UIColor.gray
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:]
conbuttonType
establecido enGCKUIMediaButtonTypeCustom
y, luego, llamar a-[setCustomButton:atIndex:]
pasando elUIButton
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.
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
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 claseGCKUIStyleAttributesMiniController
.Escribe el código.
Ejemplo:
// 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];
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.