如何解决当视图控制器以模态呈现时保持子视图可见
我想弄清楚如何在我的应用程序中保持音乐迷你播放器栏可见,即使视图控制器以模态呈现。我试过如下设置迷你播放器的 Z 轴值:
self.miniPlayerViewController.view.layer.zPosition = .greatestFiniteMagnitude
当我打印迷你播放器的 zposition 时,它返回“3.4028234663852886e+38”。模态呈现的视图控制器的 zposition 返回 0.0,因此理论上它应该在 miniplayer 后面,但在模拟器中它覆盖了它。
模态呈现的 VC 如果使用以下代码呈现:
func selectedPost(cell: HomeFeedTableViewCell) {
guard let indexPath = tableView.indexPath(for: cell) else { return }
let postVC = PostViewController.instantiate(with: posts[indexPath.row].id)
navigationController?.pushViewController(postVC,animated: true)
}
如果您有任何想法,我们将不胜感激。
更新 我还在包含 UITabBarController 中子视图初始化的函数中尝试了以下代码,但无济于事:
self.view.bringSubviewToFront(self.miniPlayerViewController.view)
UIApplication.shared.windows.first(where: { $0.isKeyWindow })?.addSubview(self.miniPlayerViewController.view)
更新 #2 我找到了一个临时解决方案,但是当模态VC呈现时子视图是不可交互的,所以我希望找到一个更好的解决方案:
let window = UIApplication.shared.keyWindow
let mp = self.miniPlayerViewController.view
window?.addSubview(mp!)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。