gpt4 book ai didi

ios - 更改 MPVolumeView 路由按钮的颜色 iOS 7

转载 作者:可可西里 更新时间:2023-11-01 03:36:33 26 4
gpt4 key购买 nike

我正在为 iOS 7 设计一个音乐应用程序,我想将“AirPlay”路由选择器按钮直接放在我的应用程序中。我能够很好地放置按钮,但是它没有显示,因为图标是白色的,我的背景是白色的。

有没有办法改变路线按钮的颜色?

这是我用来创建按钮的代码。

self.airPlayButton = [[MPVolumeView alloc] initWithFrame:CGRectZero];
self.airPlayButton.showsVolumeSlider = NO;
[self.airPlayButton sizeToFit];
self.airPlayButton.backgroundColor = [UIColor myGreenColor];
[self addSubview:self.airPlayButton];

基本上下图就是我想要的,除了我想要图标绿色而不只是它的背景。

MPVolumeView Route Button with background changed

最佳答案

在回顾 Adams 的回答时,我希望该任务更加清晰。所以我稍微保护了这段代码:

objective-C :

for( UIView *wnd in volumeView.subviews ) {
if( [wnd isKindOfClass:[UIButton class] ]) {
UIButton *button = (UIButton*) wnd;
UIImage *img = button.currentImage;
UIImage *img2 = [img imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
[volumeView setRouteButtonImage: img2 forState:UIControlStateNormal];
break;
}
}

swift :

    for view in volumeView.subviews {
if view.isKindOfClass(UIButton) {
let buttonOnVolumeView : UIButton = view as! UIButton
volumeView.setRouteButtonImage(buttonOnVolumeView.currentImage?.imageWithRenderingMode(.AlwaysTemplate), forState: .Normal)
break;
}
}

现在它对 volumeView 的 tintColor 属性使用react,如果 Apple 决定添加另一个按钮或更改序列,此代码仍然有效。

关于ios - 更改 MPVolumeView 路由按钮的颜色 iOS 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19075400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com