[英]iOS - How can I display an 'AirPlay' popup menu in Swift?
毕竟,似乎没有简单直接的方法来使自定义按钮显示系统的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()
}
运行此代码后,将显示以下弹出菜单:
这是一个很好的解决方法,必须使用MPVolumeView的按钮。
[[UIApplication sharedApplication] sendAction:NSSelectorFromString(@"_displayAudioRoutePicker") to:myVolumeView from:myView forEvent:nil];
可选3:在iPad上你需要传递一个UIEvent,否则只会在屏幕顶部输入popover并且它看起来很难看。 从- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
捕获事件- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
并将其传递给我们的电话。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.