隐藏卷HUD(避免使用加载的视图)

时间:2018-03-09 15:58:15

标签: ios iphone swift view volume

此问题与

无关
  

我想隐藏系统音量HUD ,同时在不需要加载视图的情况下以程序方式调整音量。

img


所以这个解决方案不是我想要的(在我的情况下这是不可接受的):

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并用它自己的风格取而代之!

1 个答案:

答案 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