启用Airplay时,AVRoutePickerView不会更改颜色

时间:2019-05-10 18:00:56

标签: ios xcode

我在ViewController中有一个AVRoutePickerView,使用Airplay时无法更改颜色。

<div class="containerbox">
  <img src="https://www.gorgeous-geek.com/wp-content/uploads/Laptop-on-desk-web-design.jpg" style="border: 1px solid #ececec;" alt="Laptop" style="width:100%;">
  <div class="top-left">Top Left</div>
  <div class="bottom-right"><a href="http://www.gorgeous-geek.com/thank-you-3/" rel="noopener noreferrer" target="_blank">Read more</a></div>
</div>

这很好用,但是即使从选择器中使用了AirPlay源,按钮也始终保持tintColor。

当Airplay处于活动状态时,如何获取按钮以更改为activeTintColor?

我认为应该在Airplay处于活动状态时自动使用activeTintColor。如果未设置颜色,则无论如何按钮的颜色始终为蓝色。

谢谢!

2 个答案:

答案 0 :(得分:1)

升级到iOS 12.3后,我首先注意到了这个问题。从那以后,我发现创建AVRouteDetector实例会导致AVRoutePickerView正确应用activeTintColor。只需创建检测器并保留在成员变量中即可:

   self.myDetector = AVRouteDetector()

   // create route picker view as usual

答案 1 :(得分:0)

您需要设置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)