Ios AVRoutePickerView赢得';当Airplay处于活动状态时,请不要更改颜色
我在ViewController中有一个AVRoutePickerView,当它使用Airplay时,我无法更改颜色Ios AVRoutePickerView赢得';当Airplay处于活动状态时,请不要更改颜色,ios,xcode,Ios,Xcode,我在ViewController中有一个AVRoutePickerView,当它使用Airplay时,我无法更改颜色 AVRoutePickerView *routePickerView = [AVRoutePickerView new]; routePickerView.backgroundColor = [UIColor clearColor]; routePickerView.activeTintColor = [UIColor blueColor]; routePickerView.ti
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源,按钮也始终保持淡色
当Airplay处于活动状态时,如何使按钮更改为activeTintColor?
我以为当Airplay处于活动状态时,它会自动使用activeTintColor。如果未设置任何颜色,则无论发生什么情况,按钮的颜色始终为蓝色
提前谢谢 升级到iOS 12.3后,我第一次注意到这个问题。我发现创建AVRouteDetector实例会导致AVRoutePickerView正确应用activeTintColor。只需创建检测器并保留在成员变量中:
self.myDetector = AVRouteDetector()
// create route picker view as usual
您需要设置
routePickerButtonStyle
let routePickerView = AVRoutePickerView(frame: CGRect(x: 200, y: 200, width: 100, height: 100))
routePickerView.routePickerButtonStyle = .custom
routePickerView.backgroundColor = UIColor.clear
routePickerView.delegate = self
self.view.addSubview(routePickerView)
我以前从未见过这种行为。实际上,当我选择一条路线时,会为我应用活动的着色颜色。你能在一个样本项目中复制吗?哇,我不敢相信文档中没有提到这一点!花了几个小时试图找出我做错了什么。。。谢谢它的文档记录得非常糟糕,您的解决方案是针对tvOS的,因为OP询问的iOS上不支持按钮样式。