如何从Swift中的UIApplication中删除窗口

问题描述 投票:0回答:3

单击按钮时,我将使用以下代码移动到另一个视图控制器。

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()

对于每个按钮单击,都会向应用程序添加一个新窗口。我想删除添加的最新窗口。通过使用以下代码可以知道应用程序中存在的窗口数。

let windowz = UIApplication.shared.windows
print("subviews",windowz)
swift xcode uiwindow uiapplication
3个回答
-1
投票

在下面的代码windowz中是普通数组。

let windowz = UIApplication.shared.windows 

您可以使用最后删除

windowz.removeLast()

1
投票

我认为你在iOS中得到了错误的导航概念。 Window就像一个ViewControllers出现的根对象。因此,您首先要寻找的解决方案可能是UINavigationController

Apple Documentation on Navigation


1
投票

您应该使用View Controller而不是添加窗口,而不是在删除窗口的位置弹出窗口。窗口只是app的一个对象,将包含视图。请更正您的理解并使用View控制器。

© www.soinside.com 2019 - 2024. All rights reserved.