首页 > 解决方案 > 将 uiview 控制器显示为弹出窗口

问题描述

在此处输入图像描述我当前的 viewController 是黑色的(根据我的要求,这应该是黑色的)。我将另一个视图控制器作为弹出窗口呈现。这个控制器有一个默认视图,我将其设置为清晰的颜色,在默认视图顶部采用另一个视图,其背景颜色为黑色,并将其 alpha 设置为 0.6,顶部采用背景为白色的 tableview。我的问题是弹出窗口显示正确但由于我的源视图控制器视图的颜色是黑色所以我的弹出表视图颜色也显示了这个效果

标签: swiftpopup

解决方案


从您想要午餐弹出窗口的位置添加此代码段。

    var helpView = UIStoryboard(name: "MainStoryboard", bundle: nil).instantiateViewController(withIdentifier: "ViewController") as? YourViewControllerClass

    let window = UIApplication.shared.keyWindow
    helpView.view.backgroundColor = UIColor.init(red: 0.0/255.0, green: 0.0/255.0, blue: 0.0/255.0, alpha: 0.6)
    helpView.view.frame = (window?.frame)!
    window?.addSubview(helpView.view)
    window?.rootViewController?.addChildViewController(helpView)

    helpView.didMove(toParentViewController: self)

在弹出关闭按钮操作中添加此代码段。

    self.view.removeFromSuperview()
    self.removeFromParentViewController()

推荐阅读