我可以更改Chromecast导航栏的背景颜色吗?

时间:2017-06-08 15:33:25

标签: ios swift chromecast

我已经审核了GoogleCast v3 SDK中提供的自定义样式,除非我遗漏了一些内容,否则我看不到更改deviceChooser的backgroundColor的方法。见下文:

enter image description here

有没有办法改变这种灰色?

3 个答案:

答案 0 :(得分:2)

Google Cast sdk使用的是常规UINavigationBar。在推送到sdk的媒体控件UI之前,您可以更改导航栏的外观。

我尝试过didFinishLaunchingWithOptions

 [UINavigationBar appearance].barTintColor = [UIColor whiteColor];
 [UINavigationBar appearance].translucent = NO;

希望它会有所帮助:)

worked for me

答案 1 :(得分:0)

您可以通过以下多种方式在适用于 iOS 的 Chromecast SDK 上自定义样式:

GCKUIStyle.sharedInstance()

我对导航栏样式的贡献:

DOCUMENTATION我可以看到下图

enter image description here

所有“样式类”之间的共同点是它们都继承自 GCKUIStyleAttributes 所以:

func configureChromecast() {
    let gckCriteria = GCKDiscoveryCriteria(applicationID: "ABC123")
    let gckCastOptions = GCKCastOptions(discoveryCriteria: gckCriteria)
    
    GCKCastContext.setSharedInstanceWith(gckCastOptions)
    GCKLogger.sharedInstance().delegate = self
    
    // General
    let textColor: UIColor = UIColor.black
    let backgroundColor: UIColor = UIColor.white
    
    GCKUIStyle.sharedInstance().castViews.backgroundColor = backgroundColor
    
    GCKUIStyle.sharedInstance().castViews.headingTextColor = textColor
    GCKUIStyle.sharedInstance().castViews.headingTextFont = UIFont.textStyleRegular
    
    GCKUIStyle.sharedInstance().castViews.bodyTextColor = textColor
    GCKUIStyle.sharedInstance().castViews.bodyTextFont = UIFont.textStyleRegular
    
    GCKUIStyle.sharedInstance().castViews.captionTextColor = textColor
    GCKUIStyle.sharedInstance().castViews.captionTextFont = UIFont.textStyleRegular
    
    GCKUIStyle.sharedInstance().castViews.buttonTextColor = textColor
    GCKUIStyle.sharedInstance().castViews.buttonTextFont = UIFont.textStyleRegular
    
    GCKUIStyle.sharedInstance().castViews.iconTintColor = textColor
    
    
    // Navigation & Toolbar
    let navigationBackgroundColor: UIColor = UIColor.blue
    let navigationtintColor: UIColor = UIColor.white
    
    GCKUIStyle.sharedInstance().castViews.deviceControl.connectionController.navigation.backgroundColor = navigationBackgroundColor
    GCKUIStyle.sharedInstance().castViews.deviceControl.connectionController.toolbar.backgroundColor = navigationBackgroundColor
    
    GCKUIStyle.sharedInstance().castViews.deviceControl.connectionController.navigation.headingTextColor = navigationtintColor
    GCKUIStyle.sharedInstance().castViews.deviceControl.connectionController.toolbar.headingTextColor = navigationtintColor
    
    GCKUIStyle.sharedInstance().castViews.deviceControl.connectionController.navigation.bodyTextColor = navigationtintColor
    GCKUIStyle.sharedInstance().castViews.deviceControl.connectionController.toolbar.bodyTextColor = navigationtintColor
    
    GCKUIStyle.sharedInstance().castViews.deviceControl.connectionController.navigation.captionTextColor = navigationtintColor
    GCKUIStyle.sharedInstance().castViews.deviceControl.connectionController.toolbar.captionTextColor = navigationtintColor
    
    GCKUIStyle.sharedInstance().castViews.deviceControl.connectionController.navigation.buttonTextColor = navigationtintColor
    GCKUIStyle.sharedInstance().castViews.deviceControl.connectionController.toolbar.buttonTextColor = navigationtintColor
    
    GCKUIStyle.sharedInstance().castViews.deviceControl.connectionController.navigation.iconTintColor = navigationtintColor
    GCKUIStyle.sharedInstance().castViews.deviceControl.connectionController.toolbar.iconTintColor = navigationtintColor
    
    
    GCKUIStyle.sharedInstance().apply()
}

结果:

enter image description here

enter image description here

答案 2 :(得分:-1)

您可以使用GCKUIStyle设置所有GCK视图的样式,

例如:

GCKUIStyle.sharedInstance().castViews.mediaControl.miniController.buttonTextColor = .black

GCKUIStyle.sharedInstance().apply()

根据您的情况,可以使用此行设置导航样式

connectionController.navigation.backgroundColor = UIColor.black

检查此URL以获取更多信息:

https://developers.google.com/cast/docs/ios_sender/customize_ui