Menyesuaikan UI Pengirim iOS

Anda dapat menyesuaikan widget Cast dengan menyetel warna, menata gaya tombol, teks, dan tampilan thumbnail, serta dengan memilih jenis tombol yang akan ditampilkan.

Menyesuaikan tema widget

Widget framework Cast mendukung Apple UIAppearance Protocol di UIKit untuk mengubah tampilan widget di seluruh aplikasi Anda, seperti posisi atau batas tombol. Gunakan protokol ini untuk menata gaya widget framework Cast agar cocok dengan gaya visual aplikasi yang ada.

Contoh tombol Cast

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

Sesuaikan widget secara langsung

Menyesuaikan widget secara langsung menggunakan properti superclass-nya. Misalnya, sangat umum untuk menyesuaikan warna GCKUICastButton menggunakan properti tintColor:.

Contoh tombol Cast

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

Pilih tombol pengontrol

Class pengontrol yang diperluas (GCKUIExpandedMediaControlsViewController) dan class pengontrol mini (GCKUIMiniMediaControlsViewController) berisi panel tombol, dan klien dapat mengonfigurasi tombol mana yang ditampilkan di panel tersebut. Hal ini dicapai oleh kedua class yang sesuai dengan GCKUIMediaButtonBarProtocol.

Bilah pengontrol mini memiliki 3 slot yang dapat dikonfigurasi untuk tombol:

SLOT  SLOT  SLOT
  1     2     3

Panel pengontrol yang diperluas memiliki tombol putar/jeda permanen di bagian tengah panel ditambah 4 slot yang dapat dikonfigurasi:

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

Aplikasi Anda bisa mendapatkan referensi ke pengontrol yang diperluas dengan properti -[defaultExpandedMediaControlsViewController] dari GCKCastContext dan dapat membuat pengontrol mini menggunakan -[createMiniMediaControlsViewController].

Setiap slot dapat berisi tombol framework, tombol kustom, atau kolom kosong. Daftar tombol kontrol framework didefinisikan sebagai:

Jenis Tombol Deskripsi
GCKUIMediaButtonTypeNone Jangan letakkan tombol di slot ini
GCKUIMediaButtonTypeCustom Tombol khusus
GCKUIMediaButtonTypePlayPauseToggle Beralih antara pemutaran dan jeda
GCKUIMediaButtonTypeSkipPrevious Melewati ke item sebelumnya dalam antrean
GCKUIMediaButtonTypeSkipNext Melewati ke item berikutnya dalam antrean
GCKUIMediaButtonTypeRewind30Seconds Memundurkan pemutaran 30 detik
GCKUIMediaButtonTypeForward30Seconds Melewati pemutaran selama 30 detik
GCKUIMediaButtonTypeMuteToggle Membisukan dan membunyikan audio Penerima Web jarak jauh
GCKUIMediaButtonTypeClosedCaptions Membuka dialog untuk memilih trek teks dan audio

Deskripsi mendetail tentang fungsi setiap tombol dapat ditemukan di GCKUIMediaButtonBarProtocol.h

Tambahkan tombol sebagai berikut menggunakan metode di GCKUIMediaButtonBarProtocol:

  • Untuk menambahkan tombol framework ke batang, hanya diperlukan panggilan ke -[setButtonType:atIndex:].

  • Untuk menambahkan tombol kustom ke panel, aplikasi Anda harus memanggil -[setButtonType:atIndex:] dengan buttonType yang ditetapkan ke GCKUIMediaButtonTypeCustom, lalu memanggil -[setCustomButton:atIndex:] yang meneruskan UIButton dengan indeks yang sama.

Menerapkan gaya kustom ke aplikasi iOS

SDK iOS Cast memungkinkan Anda menata gaya font, warna, dan gambar elemen UI dari widget default di pengirim iOS, memberikan tampilan dan nuansa yang sesuai dengan aplikasi Anda lainnya.

Bagian berikut menunjukkan cara menerapkan gaya kustom pada widget Cast atau grup widget.

Menerapkan gaya ke elemen UI widget

Prosedur ini menggunakan contoh penetapan warna teks isi pengontrol mini aplikasi ke merah.

  1. Lihat di tabel tampilan dan gaya untuk menemukan nama tampilan widget atau grup widget yang ingin Anda tata gayanya. Nama grup ditandai dengan ▼.

    Contoh: miniController tampilan widget

  2. Temukan nama atribut yang ingin Anda ubah dari daftar properti di class gaya terkait yang tercantum dalam tabel ini.

    Contoh: bodyTextColor adalah properti class GCKUIStyleAttributesMiniController.

  3. Tulis kodenya.

    Contoh:

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

Gunakan pola ini untuk menerapkan gaya apa pun ke elemen UI dari widget apa pun.

Tabel tampilan dan gaya

Tabel ini menunjukkan tujuh tampilan widget dan tiga grup (ditandai dengan ▼) yang dapat Anda terapkan gayanya.

Nama tampilan Jenis Class gaya
castViews Grup GCKUIStyleAttributesCastViews
deviceControl Grup GCKUIStyleAttributesDeviceControl
deviceChooser Widget GCKUIStyleAttributesDeviceChooser
noDevicesAvailableController Widget GCKUIStyleAttributesNoDevicesAvailableController
connectionController Grup GCKUIStyleAttributesConnectionController
navigation Widget GCKUIStyleAttributesConnectionNavigation
toolbar Widget GCKUIStyleAttributesConnectionToolbar
mediaControl Grup GCKUIStyleAttributesMediaControl
miniController Widget GCKUIStyleAttributesMiniController
expandedController Widget GCKUIStyleAttributesExpandedController
trackSelector Widget GCKUIStyleAttributesTrackSelector
instructions Widget GCKUIStyleAttributesInstructions

Hierarki gaya

Singleton GCKUIStyle adalah titik entri API untuk semua setelan gaya. Diagram ini memiliki castViews properti, yang merupakan root dari hierarki gaya, seperti yang diilustrasikan di bawah ini; diagram ini adalah cara yang berbeda untuk melihat tampilan dan grup yang sama seperti yang ditunjukkan dalam tabel sebelumnya.

Anda dapat menerapkan gaya ke masing-masing widget atau ke grup widget. Hierarki gaya memiliki tiga grup widget: castViews, deviceControl, dan mediaControl. Setiap persegi panjang grup menampung widgetnya. Menerapkan gaya ke grup akan menerapkannya ke semua widget dalam grup tersebut.

Misalnya, grup castViews memungkinkan Anda menerapkan gaya ke semua widget, dan grup deviceControl memungkinkan Anda menerapkan gaya hanya ke tiga widget kontrol perangkatnya. Widget instructions tidak termasuk dalam grup mana pun.

castViews
deviceControl mediaControl
petunjuk

perangkat
Pemilih
Layar noDevicesAvailable
koneksi
Pengontrol
mini
Pengontrol
diperluas
Pengontrol
trek
Pemilih
navigasi / toolbar

Catatan kaki: Nama widget dalam diagram ini yang ditampilkan pada dua baris harus ditulis dalam kode sebagai satu kata, dalam satu baris, tanpa spasi. Misalnya, device Chooser harus ditulis deviceChooser. Arahkan kursor ke gambar untuk memperbesarnya.