将uiview控制器显示为弹出窗口

时间:2019-07-03 07:59:36

标签: swift popup

enter image description here我当前的viewController为黑色(根据我的要求,该颜色应为黑色)。我正在展示另一个ViewController作为弹出窗口。 这个控制器有一个默认视图,我将其设置为清晰的颜色,在默认视图的顶部另取一个视图,该视图的背景色为黑色,并将其alpha设置为.6,顶部使用tableview,背景色为白色。我的问题是弹出窗口显示正确,但是由于我的源视图控制器视图的颜色是黑色,所以我的弹出表视图颜色也显示了这种效果

1 个答案:

答案 0 :(得分:2)

  

在您要午餐弹出的位置添加此代码段。

    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()