رابط کاربری فرستنده iOS را سفارشی کنید

می‌توانید ویجت‌های Cast را با تنظیم رنگ‌ها، شکل دادن به دکمه‌ها، متن و ظاهر تصاویر کوچک، و با انتخاب انواع دکمه‌ها برای نمایش، سفارشی کنید.

تم ویجت را سفارشی کنید

ویجت‌های فریمورک Cast از پروتکل Apple UIAppearance در UIKit پشتیبانی می‌کنند تا ظاهر ویجت‌ها را در سراسر برنامه شما تغییر دهد، مانند موقعیت یا حاشیه یک دکمه. از این پروتکل برای استایل دادن به ویجت‌های چارچوب Cast برای مطابقت با استایل برنامه‌های موجود استفاده کنید.

مثال دکمه Cast

سویفت
GCKUICastButton.appearance().tintColor = UIColor.gray
هدف-C
[GCKUICastButton appearance].tintColor = [UIColor grayColor];

ویجت را مستقیماً سفارشی کنید

ویجت را مستقیماً با استفاده از ویژگی های سوپرکلاس آن سفارشی کنید. برای مثال، سفارشی کردن رنگ GCKUICastButton با استفاده از ویژگی tintColor: معمول است.

مثال دکمه Cast

سویفت
castButton.tintColor = UIColor.gray
هدف-C
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 یا گروهی از ویجت‌ها اعمال کنید.

اعمال یک سبک به عنصر رابط کاربری یک ویجت

این روش از مثال تنظیم رنگ متن بدنه کنترلر کوچک برنامه شما به رنگ قرمز استفاده می کند.

  1. در جدول نماها و سبک‌ها نگاه کنید تا نام نمای ویجت یا گروهی از ویجت‌هایی را که می‌خواهید استایل کنید پیدا کنید. نام گروه ها با ▼ مشخص می شوند.

    مثال: نمای ویجت miniController

  2. نام ویژگی هایی را که می خواهید تغییر دهید از لیست ویژگی ها در کلاس سبک مربوطه که در این جدول فهرست شده است پیدا کنید.

    مثال: bodyTextColor یک ویژگی از کلاس GCKUIStyleAttributesMiniController است.

  3. کد رو بنویس

    مثال:

سویفت
// 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()
هدف-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];

از این الگو برای اعمال هر سبک به هر عنصر UI هر ویجت استفاده کنید.

جدول نماها و سبک ها

این جدول هفت نمای ویجت و سه گروه (با علامت ▼) را نشان می‌دهد که می‌توانید استایل‌ها را روی آنها اعمال کنید.

مشاهده نام تایپ کنید کلاس سبک
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 singleton نقطه ورود API برای همه تنظیمات سبک است. دارای ویژگی castViews است که ریشه سلسله مراتب سبک است، همانطور که در زیر نشان داده شده است. این نمودار روشی متفاوت برای مشاهده نماها و گروه های مشابه در جدول قبلی است.

می توانید یک سبک را برای یک ویجت جداگانه یا برای گروهی از ویجت ها اعمال کنید. سلسله مراتب سبک دارای سه گروه ویجت است: castViews، deviceControl و mediaControl. مستطیل هر گروه ویجت های آن را در بر می گیرد. اعمال یک سبک در یک گروه، آن را برای تمام ویجت های آن گروه اعمال می کند.

به عنوان مثال، گروه castViews به شما امکان می دهد یک سبک را برای همه ویجت ها اعمال کنید و گروه deviceControl به شما امکان می دهد یک سبک را فقط برای سه ویجت کنترل دستگاه خود اعمال کنید. ویجت instructions متعلق به هیچ گروهی نیست.

castViews
دستگاه کنترل mediaControl
دستورالعمل ها

دستگاه
انتخاب کننده
صفحه noDevicesAvailable
اتصال
کنترل کننده
مینی
کنترل کننده
گسترش یافته است
کنترل کننده
مسیر
انتخابگر
ناوبری / نوار ابزار

پی نوشت: نام ویجت ها در این نمودار که در دو خط نشان داده شده اند باید به صورت کد به صورت یک کلمه، در یک خط، بدون فاصله نوشته شوند. به عنوان مثال، device Chooser باید نوشته شود deviceChooser . برای بزرگنمایی تصاویر را روی آنها بچرخانید.