我在 ViewController 中有一个 AVRoutePickerView,当它使用 Airplay 时我无法改变颜色。
AVRoutePickerView *routePickerView = [AVRoutePickerView new];
routePickerView.backgroundColor = [UIColor clearColor];
routePickerView.activeTintColor = [UIColor blueColor];
routePickerView.tintColor = [UIColor whiteColor];
//I put it in a StackView, incidentally
[self.bottomButtonStack insertArrangedSubview:routePickerView atIndex: 3];
[routePickerView.layer setFrame:CGRectMake(80,80,80,80)];
[routePickerView.heightAnchor constraintEqualToConstant:52].active = true;
[routePickerView.widthAnchor constraintEqualToConstant:52].active = true;
这工作正常,但即使从选择器中使用 AirPlay 源,按钮也始终保持 TintColor。
当 Airplay 处于事件状态时,如何让按钮更改为 activeTintColor?
我认为当 Airplay 处于事件状态时,它应该自动使用 activeTintColor。如果没有设置颜色,则无论如何按钮的颜色始终为蓝色。
提前致谢!
最佳答案
我在升级到 iOS 12.3 后第一次注意到这个问题。我发现创建 AVRouteDetector 实例会导致 AVRoutePickerView 正确应用 activeTintColor。只需创建检测器并保留在成员变量中即可:
self.myDetector = AVRouteDetector()
// create route picker view as usual
关于ios - Airplay 处于事件状态时,AVRoutePickerView 不会改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56082698/