0

I had Swift project which was developed in Xcode 10.2 and it was working fine. I had migrated my code from Xcode 10.2 to Xcode 11.3. Since after this my app is not working properly. Whenever I tries to add window it's content is not showing and it's totally back screen.

I got this error in console:

- [Window] Manually adding the rootViewController's view to the view hierarchy is no longer supported. Please allow UIWindow to add the rootViewController's view to the view hierarchy itself.

Here's my code:

    fileprivate(set) var topOverlayWindow         = UIWindow()

   override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    self.topOverlayWindow.windowLevel = UIWindow.Level(rawValue: CGFloat.greatestFiniteMagnitude)
    self.topOverlayWindow.backgroundColor = NSUtility.editVideoThemeColor
    self.topOverlayWindow.frame = CGRect(x: 0.0, y: 0.0, width:  56, height: 45)
    self.topOverlayWindow.rootViewController = KAPPDELEGATE?.window?.rootViewController;
    self.topOverlayWindow.alpha = 1.0
    self.topOverlayWindow.isHidden = false
    self.topOverlayWindow.makeKeyAndVisible()
}
Nishant Sharma
  • 129
  • 1
  • 5
  • I got the solution. Now it's working fine in iOS 12, iOS 13 from Xcode 11 too. In above code I just replace this self.topOverlayWindow.rootViewController = KAPPDELEGATE?.window?.rootViewController with below mentioned code self.topOverlayWindow.rootViewController = UIViewController() // Or you can pass reference to any new controller Rest everything is fine. Ref took from here: https://stackoverflow.com/questions/57060606/uiwindow-not-showing-over-content-in-ios-13 – Nishant Sharma Apr 03 '20 at 06:34

1 Answers1

0

I got the solution. Now it's working fine in iOS 12, iOS 13 from Xcode 11 too.

In above code I just replace this

self.topOverlayWindow.rootViewController = KAPPDELEGATE?.window?.rootViewController 

with below mentioned code

self.topOverlayWindow.rootViewController = UIViewController()

// Or you can pass reference to any new controller Rest everything is fine. Ref took from here:

UIWindow not showing over content in iOS 13

Nishant Sharma
  • 129
  • 1
  • 5