NSWindow调整NSView覆盖的控件

时间:2011-01-20 06:47:55

标签: objective-c cocoa

我有一个NSView子类,其大小适合常规的NSWindow窗口(右边的边缘)。

视图绘制背景颜色,当应用程序运行时,它会覆盖右下角的标准窗口调整大小控件。您仍然可以通过拖动角落来调整窗口大小。

如果我调整视图大小以使它不会完全移动到窗口的边缘,很明显正在绘制调整大小控件,但是我的视图重叠了。

有人知道解决这个问题的方法吗?我是否必须自己绘制调整大小控件?

这是显示我的意思的screenshot

3 个答案:

答案 0 :(得分:0)

您必须自己绘制手柄或敲掉背景的右下角。鉴于你的视图与窗口的边缘齐平,我只是自己绘制并完成它。

唯一的麻烦是我相信如果你这样做,你将不得不处理拖拽调整大小(不要引用我)。如果是这样,您将不得不为该角创建一个NSTrackingArea,并在窗口框架发生变化(大小和原点)时处理该区域中的拖动。

答案 1 :(得分:0)

所以我通过创建一个带有手柄图像的图层并将其放置在视图图层的右下角来实现它。我不必自己实施拖动 - 它只是有效。

答案 2 :(得分:0)

使用支持图层与托管图层。根据我的经验,托管图层通常用于非常自定义的内容并应用于无边框窗口。