我创建了一个 UIWindow
并使其在 didFinishLaunching
中成为关键且可见,随后创建了另一个 UIWindow
并使其成为关键且可见。我希望第一个窗口被放弃并从内存中释放,第二个窗口将被显示。但正如我在调试器 (Debug View Hierarchy) 中看到的那样,它们都在层次结构中。
这正常吗?
更新
问题不在于为什么两个对象都在内存中。我想知道为什么它们都在 View 层次结构中?我怎样才能从那里删除其中一个?
注意:关键窗口没有 super View ,所以我不能通过简单地调用 removeFromSuperview
来做到这一点。
最佳答案
如果您的 AppDelegate
保留第一个窗口,它将永远不会释放。当然,您可以将任何创建的窗口设置为关键窗口和可见窗口。 makeKeyAndVisible
方法创建一个窗口键并将其移动到任何其他具有相同级别的窗口的前面。
关于ios - 换一个按键窗口可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41023153/