Personalizzazione dell'interfaccia utente di un mittente iOS

Puoi personalizzare i widget di trasmissione impostando i colori, assegnando uno stile a pulsanti, testo e miniature e scegliendo i tipi di pulsanti da visualizzare.

Personalizza tema widget

I widget del framework Cast supportano l'Apple UIAspetto Protocol in UIKit per modificare l'aspetto dei widget nella tua app, ad esempio la posizione o il bordo di un pulsante. Utilizza questo protocollo per definire lo stile dei widget del framework Cast in modo che corrispondano a quelli delle app esistenti.

Esempio di pulsante Trasmetti

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

Personalizza direttamente il widget

Personalizza un widget direttamente utilizzando le proprietà della sua superclasse. Ad esempio, è comune personalizzare il colore GCKUICastButton utilizzando la proprietà tintColor:.

Esempio di pulsante Trasmetti

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

Scegli i pulsanti del controller

Sia la classe controller espansa (GCKUIExpandedMediaControlsViewController) che la classe controller mini (GCKUIMiniMediaControlsViewController) contengono una barra dei pulsanti e i client possono configurare quali pulsanti visualizzare su quelle barre. Questo risultato viene ottenuto da entrambe le classi conformi a GCKUIMediaButtonBarProtocol.

La mini barra del controller ha tre slot configurabili per i pulsanti:

SLOT  SLOT  SLOT
  1     2     3

La barra del controller espansa presenta un pulsante di attivazione/disattivazione riproduzione/pausa permanente al centro della barra e 4 slot configurabili:

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

La tua app può ottenere un riferimento al controller espanso con la proprietà -[defaultExpandedMediaControlsViewController] di GCKCastContext e può creare un mini controller utilizzando -[createMiniMediaControlsViewController].

Ogni area può contenere un pulsante del framework o un pulsante personalizzato oppure essere vuota. L'elenco dei pulsanti di controllo del framework è definito come:

Tipo pulsante Descrizione
GCKUIMediaButtonTypeNone Non inserire un pulsante in questo slot
GCKUIMediaButtonTypeCustom Pulsante personalizzato
GCKUIMediaButtonTypePlayPauseToggle Alterna riproduzione e pausa
GCKUIMediaButtonTypeSkipPrevious Passa all'elemento precedente in coda
GCKUIMediaButtonTypeSkipNext Passa all'elemento successivo in coda
GCKUIMediaButtonTypeRewind30Seconds Riavvolge la riproduzione di 30 secondi
GCKUIMediaButtonTypeForward30Seconds Porta avanti la riproduzione di 30 secondi
GCKUIMediaButtonTypeMuteToggle Disattiva e riattiva l'audio del ricevitore web remoto
GCKUIMediaButtonTypeClosedCaptions Apre una finestra di dialogo per selezionare tracce di testo e audio

Le descrizioni dettagliate di ogni pulsante sono disponibili in GCKUIMediaButtonBarProtocol.h

Aggiungi un pulsante come segue utilizzando i metodi sulla GCKUIMediaButtonBarProtocol:

  • Per aggiungere un pulsante del framework a una barra, è necessaria solo una chiamata a -[setButtonType:atIndex:].

  • Per aggiungere un pulsante personalizzato a una barra, la tua app deve chiamare -[setButtonType:atIndex:] con buttonType impostato su GCKUIMediaButtonTypeCustom, quindi chiamare -[setCustomButton:atIndex:] che trasmette UIButton con lo stesso indice.

Applicare stili personalizzati alla tua app per iOS

L'SDK Cast per iOS consente di applicare uno stile a carattere, colore e immagini degli elementi dell'interfaccia utente dei widget predefiniti del mittente iOS, in modo che le visualizzazioni abbiano un aspetto che corrisponda a quello del resto dell'app.

La seguente sezione mostra come applicare stili personalizzati a un widget di trasmissione o a un gruppo di widget.

Applicare uno stile a un elemento dell'interfaccia utente di un widget

Questa procedura utilizza l'esempio di impostazione del colore del corpo del testo del mini controller della tua app su rosso.

  1. Cerca nella tabella di viste e stili il nome della visualizzazione del widget o del gruppo di widget a cui vuoi applicare uno stile. I nomi dei gruppi sono contrassegnati con il tasto ▼.

    Esempio: visualizzazione widget miniController

  2. Trova i nomi degli attributi da modificare nell'elenco delle proprietà nella classe di stile corrispondente riportata in questa tabella.

    Esempio: bodyTextColor è una proprietà della classe GCKUIStyleAttributesMiniController.

  3. Scrivi il codice.

    Esempio:

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];

Utilizza questo pattern per applicare qualsiasi stile a qualsiasi elemento dell'interfaccia utente di un widget.

Tabella delle visualizzazioni e degli stili

Questa tabella mostra le sette visualizzazioni widget e i tre gruppi (contrassegnati da ▼) a cui puoi applicare gli stili.

Nome visualizzazione Tipo Classe di stile
castViews Gruppo GCKUIStyleAttributesCastViews
deviceControl Gruppo GCKUIStyleAttributesDeviceControl
deviceChooser Widget GCKUIStyleAttributesDeviceChooser
noDevicesAvailableController Widget GCKUIStyleAttributesNoDevicesAvailableController
connectionController Gruppo GCKUIStyleAttributesConnectionController
navigation Widget GCKUIStyleAttributesConnectionNavigation
toolbar Widget GCKUIStyleAttributesConnectionToolbar
mediaControl Gruppo GCKUIStyleAttributesMediaControl
miniController Widget GCKUIStyleAttributesMiniController
expandedController Widget GCKUIStyleAttributesExpandedController
trackSelector Widget GCKUIStyleAttributesTrackSelector
instructions Widget GCKUIStyleAttributesInstructions

Gerarchia degli stili

Il singleton GCKUIStyle è il punto di ingresso dell'API per tutte le impostazioni di stile. Ha la proprietà castViews, che è la radice della gerarchia degli stili, come illustrato di seguito; questo diagramma mostra in modo diverso le viste e gli stessi gruppi mostrati nella tabella precedente.

Puoi applicare uno stile a un singolo widget o a un gruppo di widget. La gerarchia degli stili ha tre gruppi di widget: castViews, deviceControl e mediaControl. Il rettangolo di ogni gruppo racchiude i relativi widget. Se applichi uno stile a un gruppo, lo stile viene applicato a tutti i widget del gruppo.

Ad esempio, il gruppo castViews consente di applicare uno stile a tutti i widget, mentre il gruppo deviceControl consente di applicare uno stile solo ai tre widget di controllo del dispositivo. Il widget instructions non appartiene ad alcun gruppo.

castViews
deviceControl mediaControl
istruzioni

dispositivo
Selettore
Schermata Nessun dispositivo disponibile
connessione
Controller
mini
Controller
espanso
Controller
traccia
Selettore
navigazione / barra degli strumenti

Nota a piè di pagina: i nomi dei widget in questo diagramma, mostrati su due righe, devono essere scritti nel codice come una sola parola su un'unica riga, senza spazi. Ad esempio, device Chooser dovrebbe essere scritto deviceChooser. Scorri sulle immagini per ingrandirle.