菜鸟教程小白 发表于 2022-12-11 19:46:04

ios - 如何在所有 View Controller 中显示可自定义的 View ?


                                            <p><p>这个问题有点详细,我真正想知道什么。我想做一个应用程序,它的某些功能看起来像 SoundCloud 和 gaana。下面我展示一些 gaana 的截图。</p>
<p> <a href="/image/NrYbD.png" rel="noreferrer noopener nofollow"><img src="/image/NrYbD.png" alt="enter image description here"/></a> </p>
<p>在这里,如果我们单击任何歌曲,它们会自动更新上面的 View 并播放歌曲,并且此 View 将显示到所有 ViewController 中。单击此向上箭头按钮,它们如何显示一个新 View ,而以前的小 View 不在其中并将 Collection View 加载到这个新 View 中。如何执行所有这些操作?新 View 就在这里。</p>
<p> <a href="/image/HZMEp.png" rel="noreferrer noopener nofollow"><img src="/image/HZMEp.png" alt="enter image description here"/></a> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您可以通过创建叠加层来做到这一点,即将一个 <code>UIView</code> 作为子元素添加到应用程序的主 <code>window</code> 中,如下所示:</p>

<pre><code>override func viewDidAppear(_ animated: Bool) {
   super.viewDidAppear(animated)
   showOverlay()
}


func showOverlay() {
    guard let window = UIApplication.shared.keyWindow else {
      //if this block runs we were unable to get a reference to the main window
      print(&#34;you have probably called this method in viewDidLoad or at some earlier point where the main window reference might be nil&#34;)
      return
    }
    //add some custom view, for simplicity I&#39;ve added a black view
    let blackView = UIView()
    blackView.backgroundColor = .black
    blackView.translatesAutoresizingMaskIntoConstraints = false
    blackView.frame = CGRect(x: 0, y: window.frame.height - 100, width: window.frame.width, height: 100.0)

    window.addSubview(blackView)
}
</code></pre>

<p>现在这个 View 应该总是 float 在当前的<code>UIViewController</code></p>之上</p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在所有 ViewController 中显示可自定义的 View ?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/44226359/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/44226359/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在所有 View Controller 中显示可自定义的 View ?