在Carbon中,您可以使用HideWindow(WindowRef)和ShowWindow(WindowRef)更改窗口的可见性。
在Cocoa中,我知道您可以调用NSWindow的orderOut:来隐藏和orderFront:,orderBack:或orderWindow:relativeTo:使其重新显示在屏幕上,但是当它们最后一次可见时,没有一个相对于其他窗口相对于该窗口的排序。
例如,如果我有两个窗口,一个窗口在另一个窗口上方,然后在后窗口中调用orderOut:,该如何再次显示该窗口,使其仍位于前窗口的后面,而无需调用orderWindow:relativeTo:。
我现在唯一能想到的就是记住紧靠其上方的窗口的窗口ID,然后在再次显示它时使用orderWindow:relativeTo:,但是我没有考虑过如果上方的窗口在关闭之前关闭会发生什么情况。后车窗再次可见。
最佳答案
我认为可可中没有任何可用的方法。我想您需要使用您的想法来模仿。
顺便说一句,如果您从按以下顺序订购的四个窗口开始,碳行为是什么?
A B X C D E
然后隐藏
X
A B C D E
现在,用户对其重新排序,并删除了一些:
E A C
然后再次显示
X
。在这种情况下,X
在Carbon中去哪了?关于cocoa - cocoa 中的ShowWindow/HideWindow,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4948801/