OGeek|极客世界-中国程序员成长平台

标题: ios - 隐藏音量 HUD(避免使用加载 View ) [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 19:50
标题: ios - 隐藏音量 HUD(避免使用加载 View )

此问题与没有重复:


I'd like to hide the system volume HUD while adjusting the volume programmately without the need of a loaded View.

img


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

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 并替换有自己的风格!



Best Answer-推荐答案


您想要的似乎不可能。您链接的 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

关于ios - 隐藏音量 HUD(避免使用加载 View ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49197570/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4