使用 CPNowPlaying ImageButton 时,CarPlay 正在播放屏幕在深色外观上显示错误图像
Posted
技术标签:
【中文标题】使用 CPNowPlaying ImageButton 时,CarPlay 正在播放屏幕在深色外观上显示错误图像【英文标题】:CarPlay NowPlaying screen shows wrong image on Dark appearance when using CPNowPlayingImageButton 【发布时间】:2021-10-23 01:47:17 【问题描述】:我正在使用 CarPlay 框架开发 CarPlay 应用程序。 我使用 CPNowPlayingImageButton 在 NowPlaying 模板上显示自定义按钮。https://developer.apple.com/documentation/carplay/cpnowplayingimagebutton?language=objc 已创建 ImageAsset 图片, 然后创建 CPNowPlayingImageButton。
UIImage* image = [UIImage imageNamed:@"carplay_heart" inBundle:[NSBundle mainBundle] compatibleWithTraitCollection:self.interfaceController.carTraitCollection];
CPNowPlayingImageButton* button = [CPNowPlayingImageButton.alloc initWithImage:image handler:^(CPNowPlayingImageButton*)
JPlaylistUtils::CurrentToggleFavorite(FALSE, TRUE, nil);
];
[CPNowPlayingTemplate.sharedTemplate updateNowPlayingButtons:@[button]];
我希望在浅色外观上显示黑色图像,在深色外观上显示白色图像,但 CarPlay 在深色外观上总是显示黑色(浅色主题)图像,并且图像尺寸太小。
如果我在 CarPlay / 设置中更改外观,图像首次按预期显示。
但如果更新按钮,CarPlay 会再次显示错误的图像。
【问题讨论】:
【参考方案1】:我建议您只使用一张图像,并让 CarPlay 通过将“渲染为”设置为“模板图像”来确定亮/暗模式着色。您的图片有哪些尺寸?
【讨论】:
Render As to Template 设置解决了颜色问题,但是更新按钮时尺寸仍然很小。图片之前为 72x72@2x,当前尺寸为 40x40@2x、60x60@3x,遵循 CPNowPlayingButtonMaximumImageSize。以上是关于使用 CPNowPlaying ImageButton 时,CarPlay 正在播放屏幕在深色外观上显示错误图像的主要内容,如果未能解决你的问题,请参考以下文章
在android 5上设置ImageView colorFilter(api 21)