I am trying to make a popup ( UIView ) a transparent background (another UIView ). Everything works fine for a "popup UIView ", but I couldn't figure out how to bring a "transparent UIView background" (above the NavigationBar and TabBar).
First I created a UIView in the storyboard and connected the output:
popupView.center = CGPointMake(CGRectGetMidX(self.view.bounds), tableView.center.y); self.view.addSubview(popupView) popupView.clipsToBounds = true popupView.alpha = 0
Then, when showing the popupView I create a transparent UIView background:
func clicked() { self.popupView.alpha = 1 let screenSize: CGRect = UIScreen.mainScreen().bounds let opaqueView = UIView() opaqueView.frame.size = CGSize(width: screenSize.width, height: screenSize.height) opaqueView.backgroundColor = UIColor.blackColor() opaqueView.alpha = 0.5 self.view.addSubview(opaqueView) }
However, background view does not overlap the NavigationBar or TabBar. I tried this but nothing changed:
myTabBar.view.bringSubviewToFront(opaqueView)
What I want to achieve is that having a popup UIView at the very front, having an opaque UIView around everything, including NavBar and TabBar, but behind a popup UIView
Update:
Regarding opaqueView answer, with this snippet I got an opaqueView display via TabBar and NavBar; but now it also goes beyond popupView.
func display() { popupView.center = CGPointMake(CGRectGetMidX(self.view.bounds), tableView.center.y); self.view.addSubview(popupView) popupView.clipsToBounds = true let opaqueView = UIView() let screenSize: CGRect = UIScreen.mainScreen().bounds opaqueView.frame.size = CGSize(width: screenSize.width, height: screenSize.height) UIApplication.sharedApplication().keyWindow!.insertSubview(opaqueView, belowSubview: popupView) }
How can I place opaqueView under popupView and opaqueView is above everything else?