菜鸟教程小白 发表于 2022-12-11 19:50:33

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


                                            <p><p><strong>此问题与</strong>没有重复:</p>

<ul>
<li><p> <a href="https://stackoverflow.com/questions/48071333/hide-volume-hud-view-in-mpvolumeview" rel="noreferrer noopener nofollow">Hide volume HUD view in MPVolumeView</a> </p></li>
<li><p> <a href="https://stackoverflow.com/questions/24444376/hide-device-volume-hud-view-while-adjusitng-volume-with-mpvolumeview-slider?rq=1" rel="noreferrer noopener nofollow">Hide device Volume HUD view while adjusitng volume with MPVolumeView slider</a> </p></li>
</ul>

<hr/>

<blockquote>
<p>I&#39;d like to hide the <strong>system volume HUD</strong>while adjusting the volume programmately without the need of a loaded View.</p>
</blockquote>

<p> <a href="/image/ORNvG.jpg" rel="noreferrer noopener nofollow"><img src="/image/ORNvG.jpg" alt="img"/></a> </p>

<p><br/>
<strong>所以这个解决方案不是我想要的(在我的情况下这是 Not Acceptable ):</strong></p>

<pre><code>let volumeView = MPVolumeView(frame: .zero)
view.addSubview(volumeView)
</code></pre>

<hr/>

<p>我想要一个工作函数来隐藏volumeView,同时避免添加隐藏的Subview。</p>

<p>这是我到目前为止所得到的(但是目前这不起作用):</p>

<pre><code>func hideHUD() {
let volumeWindow: UIWindow = UIWindow()
let volumeView = MPVolumeView(frame: .zero)

volumeView.isHidden = false
volumeWindow.isHidden = true
volumeWindow.addSubview(volumeView)
}
</code></pre>

<p><strong>注意:</strong>我很确定可以通过编程方式隐藏音量 HUD,因为 <em>VolumeBar API</em> (<a href="https://github.com/gizmosachin/VolumeBar/blob/master/Sources/VolumeBar.swift" rel="noreferrer noopener nofollow">you can find here</a>) 能够隐藏 HUD 并替换有自己的风格!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您想要的似乎不可能。您链接的 <em>VolumeBar</em> 项目使用不可见的 MPVolumeView 来隐藏系统 HUD,就像其他人建议的那样。 <a href="https://github.com/gizmosachin/VolumeBar/blob/f8bd5311bc1e90a071836718bd5da220fdb54a38/Sources/Internal/VolumeBarWindow.swift#L40" rel="noreferrer noopener nofollow">See here</a> </p>

<pre><code>/// A standard iOS `MPVolumeView` that never appears but is necessary to hide the system volume HUD.
private let systemVolumeView: MPVolumeView
</code></pre>

<p>...</p>

<pre><code>// 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
</code></pre>

<p>来源:<a href="https://github.com/gizmosachin/VolumeBar/blob/master/Sources/Internal/VolumeBarWindow.swift" rel="noreferrer noopener nofollow">https://github.com/gizmosachin/VolumeBar/blob/master/Sources/Internal/VolumeBarWindow.swift</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 隐藏音量 HUD(避免使用加载 View ),我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/49197570/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/49197570/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 隐藏音量 HUD(避免使用加载 View )