如何在 iOS 中设置 GCKUIMiniMediaControlsViewController 的样式?

How to style GCKUIMiniMediaControlsViewController in iOS?

我正在将当前的 Cast SDK 升级到 V3,并希望使用内置 UI 组件并删除不推荐使用的功能。

目前,GCKUIMiniMediaControlsViewController 有一个 white/light 主题,但我想将其更改为更暗的主题。但是,我找不到任何可用于更改样式的 function/propert/protocol。文档 Add Advanced Cast v3 Features to your iOS App 说:

The Cast framework widgets supports the Apple UIAppearance Protocol in UIKit to change the appearance of the widgets across your app, such as the position or border of a button. Use this protocol to style the Cast framework widgets to match an existing apps styling.

这让我觉得我可以改变外观,但我不太确定 Cast 框架小部件在 UIKit 中支持 Apple UI外观协议 意思是:(

我还发现之前的一个问题也与 Cast SDK 的 UI 组件有关。

任何人都可以帮我如何更改 GCKUIMiniMediaControlsViewController 的样式吗?

您需要按照 Apple 的说明使用 UIAppearance 协议。请注意,您对样式所做的任何更改都会在整个应用中发生。

https://developer.apple.com/reference/uikit/uiappearance

例如,如果您想要更改 GCKUIExpandedMediaControlsViewController 中包含的每个 UILabel 的背景颜色。

例如 Swift:

UILabel.appearance(whenContainedInInstancesOf:[GCKUIExpandedMediaControlsViewController.self]).backgroundColor = URColors.URStrawberryRed

引入了 iOS 的 Cast SDK v3 GCKUIStyle。 这使得所有投射视图的样式变得非常容易(包括 mini controller, expanded controller 等)。因为它包含几乎所有用于自定义的属性。

专门针对GCKUIMiniMediaControlsViewController

GCKUIStyle *castStyle = [GCKUIStyle sharedInstance];

// customize Mini Controller
GCKUIStyleAttributesMiniController *miniCtrlStyle = [[[castStyle castViews] mediaControl] miniController];
[miniCtrlStyle setBackgroundColor:backColor];
[miniCtrlStyle setIconTintColor:[UIColor whiteColor]];
[miniCtrlStyle setHeadingTextColor:[UIColor whiteColor]];

[castStyle applyStyle];