当我的用户注销时,我想从窗口中删除所有UIViewController和UIView,然后重新启动一个新的视图控制器。
我的问题是,当我将窗口的rootViewController设置为新的视图控制器并调试应用程序的视图层次结构时,我可以看到新视图,但是旧视图仅仅是新视图的后面。它们不会被删除,仍然在记忆中。
如何首先删除所有视图控制器和视图?
答案 0 :(得分:0)
在设置新层次结构之前从关键窗口中删除旧层次结构。
let keyWindow = UIApplication.shared.keyWindow
keyWindow?.rootViewController?.view?.removeFromSuperview()
keyWindow?.rootViewController == //...