此问题与:
无关我想隐藏系统音量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并用它自己的风格取而代之!
答案 0 :(得分:0)
似乎您想要的东西可能无法实现。链接的 VolumeBar 项目使用一个不可见的MPVolumeView来隐藏系统HUD,就像其他人建议的那样。 See here
/// A standard iOS `MPVolumeView` that never appears but is necessary to hide the system volume HUD.
private let systemVolumeView: MPVolumeView
...
// Add a non-hidden MPVolumeView with a zero frame to prevent the system volume HUD from showing
systemVolumeView = MPVolumeView(frame: .zero)
systemVolumeView.isHidden = false
systemVolumeView.clipsToBounds = true
systemVolumeView.showsRouteButton = false
systemVolumeView.alpha = 0.0001
来源:https://github.com/gizmosachin/VolumeBar/blob/master/Sources/Internal/VolumeBarWindow.swift