【发布时间】:2018-08-18 06:00:15
【问题描述】:
此问题与没有重复:
我想隐藏系统音量HUD,同时以编程方式调整音量,而不需要加载视图。
所以这个解决方案不是我想要的(在我的情况下这是不可接受的):
let volumeView = MPVolumeView(frame: .zero)
view.addSubview(volumeView)
我想要一个工作函数来隐藏volumeView,同时避免添加隐藏的Subview。
这是我到目前为止所得到的(但是目前这不起作用):
func hideHUD() {
let volumeWindow: UIWindow = UIWindow()
let volumeView = MPVolumeView(frame: .zero)
volumeView.isHidden = false
volumeWindow.isHidden = true
volumeWindow.addSubview(volumeView)
}
注意:我很确定可以通过编程方式隐藏音量 HUD,因为 VolumeBar API (you can find here) 能够隐藏 HUD 并替换有自己的风格!
【问题讨论】:
-
正如我从阅读 SO 中收集到的那样,您尝试使用的方法仅在 AVAudioSession 处于活动状态时才有效(视频可能也有效)。所以这是让它以这种方式工作的必要条件。
-
添加了这一行 - 但也不会影响我的代码:
try AVAudioSession.sharedInstance().setActive(true) -
另外添加一个类别:
try! AVAudioSession.sharedInstance().setCategory(.ambient, mode: .default, options: [])
标签: ios iphone swift view volume