是否可以将儿童NSWindow剪辑给其父母?

时间:2013-05-09 12:51:35

标签: cocoa nswindow

我有一个无边界的NSWindow,我将其作为子窗口添加到应用程序的主窗口。在特定模式下,子窗口可能部分位于父窗口的框架之外,然后向前缩放,使其完全封闭。

如果主窗口不是全屏,那么在主窗口之外绘制子窗口看起来很奇怪。是否可以剪辑它?

1 个答案:

答案 0 :(得分:1)

不,我不这么认为。在OS X上,窗口(以及NSWindow s)由窗口服务器合成,并具有自己的缓冲区。它们本质上是OpenGL四边形,绘图是在纹理中完成的(这是一种简化,但它基本上是如何工作的。)

您没有在您的问题中解释为什么您使用子窗口(例如,与图层支持的视图相对,或者甚至只是普通的NSView);通常,您可以完全避免使用子窗口,这似乎是解决此问题的最直接的解决方案。

(注意,如果您来自Windows背景,那么Cocoa希望您在大多数情况下使用视图而不是窗口;在典型的应用程序中,您只需要在接口层次结构的顶层使用窗口。)