Search code examples
iosswiftuiviewcontrollerswift3uibackgroundcolor

Swift ViewController Background getting black with alpha


I'm calling a ViewController as popover when the user presses a button. The View should have black background with alpha 0.5. But the View is shown as that for a second, than the whole background turns black without alpha. Any idea why?

Thats my popover call:

let popOver = storyboard?.instantiateViewController(withIdentifier: "popOver") as! ViewControllerPopOver
    popOver.modalPresentationStyle = .popover
    self.present(popOver, animated: true, completion: nil)

I'm trying to set the background color in popovers viewDidLoad() function with following code:

self.view.backgroundColor = UIColor.black.withAlphaComponent(0.5)

Solution

  • For that set modalPresentationStyle to overCurrentContext instead of popover.

    let popOver = storyboard?.instantiateViewController(withIdentifier: "popOver") as! ViewControllerPopOver
    popOver.modalPresentationStyle = .overCurrentContext
    self.present(popOver, animated: true)