Search code examples
swiftxcodeuiwindowuiapplication

How to Remove windows from UIApplication in Swift


While clicking on the button , i am moving to another view controller using the following code.

var window: UIWindow?
window = UIWindow.init(frame: UIScreen.main.bounds)
window?.autoresizesSubviews = true
window?.autoresizingMask = [.flexibleWidth, .flexibleHeight]
let trackingViewController = LoginCameraViewController.init(screen: 
.main)
window?.rootViewController = trackingViewController
window?.addSubview((trackingViewController?.view)!)
window?.makeKeyAndVisible()
window?.layoutSubviews()

For every button click, a new window is added to the application.I want to remove the latest window added. The number of windows present in the application can be known by using following code.

let windowz = UIApplication.shared.windows
print("subviews",windowz)

Solution

  • In the below code windowz is normal array.

    let windowz = UIApplication.shared.windows 
    

    You can remove last by using

    windowz.removeLast()