ios - 隐藏音量 HUD(避免使用加载 View )

标签 ios iphone swift view volume

这个问题不重复:


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

最佳答案

看来您想要的可能无法实现。您链接的 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/

相关文章:

iphone - 如何检查 UITextfield 是否输入了数据?

iphone - 如何在iPhone SDK中找到闭合路径(两条线交点)?

ios - PresentationLink 始终使用相同的目标对象

ios - 对日历守护程序的谓词调用失败 : Error Domain=EKCADErrorDomain Code=1013 Calendar Swift

ios - 以编程方式创建 UIScrollView 作为另一个 UIView 的 subview 的必要步骤是什么?

ios - Xcode 以蓝色添加文件夹,相关文件未编译

ios - UICollectionViewCell 中的 addSubview 不准确

ios - 从 View 推送到 View Controller 无法快速工作

ios - 如何组合 2 个键以实现可本地化

ios - 无法使用自定义类返回类型覆盖方法