iOS - 如何在Swift中显示"AirPlay"弹出菜单?

ada*_*ily 5 xcode ios airplay swift

如何在Swift项目中显示AirPlay弹出菜单?(许多应用程序,如Spotify可以显示如下所示):

在此输入图像描述

ada*_*ily 9

毕竟,似乎没有简单直接的方法来使自定义按钮显示系统的Airplay菜单.

但是,@ totiG指向我一个有趣的资源,我创建了一个脚本,在屏幕的可见区域之外创建标准音量控制,模拟点击Airplay按钮:

func showAirplay() {
    let rect = CGRect(x: -100, y: 0, width: 0, height: 0)
    let airplayVolume = MPVolumeView(frame: rect)
    airplayVolume.showsVolumeSlider = false
    self.view.addSubview(airplayVolume)
    for view: UIView in airplayVolume.subviews {
        if let button = view as? UIButton {
            button.sendActions(for: .touchUpInside)
            break
        }
    }
    airplayVolume.removeFromSuperview()
}
Run Code Online (Sandbox Code Playgroud)

运行此代码后,将显示以下弹出菜单:

在此输入图像描述