Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSView覆盖的NSWindow resize控件_Objective C_Cocoa - Fatal编程技术网

Objective c NSView覆盖的NSWindow resize控件

Objective c NSView覆盖的NSWindow resize控件,objective-c,cocoa,Objective C,Cocoa,我有一个大小适合常规NSWindow窗口的NSView子类(右至边缘) 视图会绘制背景色,当应用程序运行时,它会覆盖右下角的标准窗口调整控件。仍然可以通过拖动角点来调整窗口的大小 如果我调整视图大小,使其不完全进入窗口边缘,则很明显,正在绘制调整大小控件,但该控件与视图重叠 有人知道解决这个问题的方法吗?我必须自己绘制调整大小控件吗 这是我的意思。你要么自己画把手,要么敲掉背景的右下角。考虑到你的视野与窗户边缘齐平,我只需要自己画出来就可以了 唯一的问题是,如果你这样做的话,我相信你将不得不处理

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

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

如果我调整视图大小,使其不完全进入窗口边缘,则很明显,正在绘制调整大小控件,但该控件与视图重叠

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


这是我的意思。

你要么自己画把手,要么敲掉背景的右下角。考虑到你的视野与窗户边缘齐平,我只需要自己画出来就可以了


唯一的问题是,如果你这样做的话,我相信你将不得不处理拖动来调整自己的大小(不过不要引用我的话)。如果是这样的话,您必须为该角创建一个NSTrackingArea,并在窗框改变(大小和原点)时在该区域中拖动把手。

因此,我创建了一个带有把手图像的层,并将其定位在视图层的右下角,从而使其正常工作。我不必自己实现拖动-它只起作用。

使用备份层而不是托管层。根据我的经验,托管层通常用于真正自定义的对象,并应用于无边界窗口。

我尝试在主视图上方添加一个带有调整大小手柄的NSImageView,但仍然不起作用。我的主视图是(并且必须是)层备份的,所以可能出于某种原因,它最终会合成所有其他视图。