【问题标题】:How to style GCKUIMiniMediaControlsViewController in iOS?如何在 iOS 中设置 GCKUIMiniMediaControlsViewController 的样式?
【发布时间】:2016-12-18 18:11:57
【问题描述】:

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

目前,GCKUIMiniMediaControlsViewController 具有白色/浅色主题,但我想将其更改为深色主题。但是,我找不到任何可用于更改样式的函数/属性/协议。文件Add Advanced Cast v3 Features to your iOS App 说:

Cast 框架小部件支持 Apple UIAppearance 协议 UIKit 用于更改应用程序中小部件的外观,例如 按钮的位置或边框。使用此协议来设置样式 投射框架小部件以匹配现有应用样式。

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

我还发现了一个与 Cast SDK 的 UI 组件相关的先前问题。 How can I get access to Introductory Overlay?

谁能帮我改变GCKUIMiniMediaControlsViewController的样式?

【问题讨论】:

    标签: ios chromecast google-cast


    【解决方案1】:

    推出适用于 iOS 的 Cast SDK v3 GCKUIStyle。 这使得所有演员表的样式都非常容易(包括mini controllerexpanded 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];
    

    【讨论】:

    • 我相信这应该是公认的答案,它使用了最新的 SDK 版本,它还帮助我找到了 HeadingTextColor。
    【解决方案2】:

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

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

    在 Swift 中的前:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2014-08-14
        • 1970-01-01
        • 1970-01-01
        • 2020-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-29
        相关资源
        最近更新 更多