这个问题有点详细,我真正想知道什么。我想做一个应用程序,它的某些功能看起来像 SoundCloud 和 gaana。下面我展示一些 gaana 的截图。
在这里,如果我们单击任何歌曲,它们会自动更新上面的 View 并播放歌曲,并且此 View 将显示到所有 View Controller 中。单击此向上箭头按钮,它们如何显示一个新 View ,而以前的小 View 不在其中并将 Collection View 加载到这个新 View 中。如何执行所有这些操作?新 View 就在这里。
您可以通过创建叠加层来做到这一点,即将一个 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 Controller 中显示可自定义的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44226359/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) | Powered by Discuz! X3.4 |