我有一个无边界的NSWindow,我将其作为子窗口添加到应用程序的主窗口。在特定模式下,子窗口可能部分位于父窗口的框架之外,然后向前缩放,使其完全封闭。
如果主窗口不是全屏,那么在主窗口之外绘制子窗口看起来很奇怪。是否可以剪辑它?
答案 0 :(得分:1)
不,我不这么认为。在OS X上,窗口(以及NSWindow
s)由窗口服务器合成,并具有自己的缓冲区。它们本质上是OpenGL四边形,绘图是在纹理中完成的(这是一种简化,但它基本上是如何工作的。)
您没有在您的问题中解释为什么您使用子窗口(例如,与图层支持的视图相对,或者甚至只是普通的NSView
);通常,您可以完全避免使用子窗口,这似乎是解决此问题的最直接的解决方案。
(注意,如果您来自Windows背景,那么Cocoa希望您在大多数情况下使用视图而不是窗口;在典型的应用程序中,您只需要在接口层次结构的顶层使用窗口。)