透明视图背景变黑

Transparent view background turns black

我想让视图控制器的视图半透明。为此,我在 viewDidLoad 方法中设置了这样的背景颜色。

view.backgroundColor = UIColor(white: 0, alpha: 0.5)

当显示视图控制器时,背景出现在我需要的位置,然后立即变黑。

为什么会这样?

这是显示 PopupViewController 的代码:

@IBAction func didTapShowButton(_ sender: UIButton) {
    let navController = UINavigationController(rootViewController: PopupViewController())
    present(navController, animated: true, completion: nil)
}

我也上传了一个演示项目here

您可以添加标志 overCurrentContext(或 custom),因此您的 present 可能类似于:

@IBAction func didTapShowButton(_ sender: UIButton) {
    let navController = UINavigationController(rootViewController: PopupViewController())
    navController.modalPresentationStyle = .overCurrentContext
    present(navController, animated: true, completion: nil)
}