gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:10:19 24 4
gpt4 key购买 nike

这个问题有点详细说明了我真正想知道的内容。我想制作一个应用程序,其某些功能看起来像 SoundCloud 和 gaana。下面我展示了一些 gaana 的截图。

enter image description here

在这里,如果我们单击任何歌曲,它们会自动更新上面的 View 并播放歌曲,并且此 View 将显示在所有 View Controller 中。单击此向上箭头按钮,它们将如何显示一个新 View ,而以前的小 View 不在其中并将 Collection View 加载到这个新 View 中。如何完成所有这些操作?新 View 就在这里。

enter image description here

最佳答案

您可以通过创建叠加层来做到这一点,即您将 UIView 作为子元素添加到应用程序的主 window 中,如下所示:

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("you have probably called this method in viewDidLoad or at some earlier point where the main window reference might be nil")
return
}
//add some custom view, for simplicity I'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)
}

现在这个 View 应该总是 float 在当前的 UIViewController

之上

关于ios - 如何将可自定义的 View 显示到所有 View Controller 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44226359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com