• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-11 19:46:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

这个问题有点详细,我真正想知道什么。我想做一个应用程序,它的某些功能看起来像 SoundCloud 和 gaana。下面我展示一些 gaana 的截图。

enter image description here

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

enter image description here



Best Answer-推荐答案


您可以通过创建叠加层来做到这一点,即将一个 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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap