Objective c 在自定义全屏窗口中奇怪地调整大小?

Objective c 在自定义全屏窗口中奇怪地调整大小?,objective-c,cocoa,subclass,nsview,nswindow,Objective C,Cocoa,Subclass,Nsview,Nswindow,我有一个自定义子类NSWindow,它被制作成一个带有NSBordelessWindowMask的全屏无边框窗口。它工作得很好,就我所见,窗口本身没有任何问题或奇怪之处 我想弄明白的是,为什么上述窗口中的自定义子类NSView会以一种奇怪的方式响应setFrame:requests。与其简单地接受请求,不如说它们正在经历某种变化——例如,将x坐标设置为25,将宽度设置为800,并不像人们所期望的那样将视图的右边缘设置为825。相反,宽度/高度随着x和y坐标的增加而增加,即使它们在[view fr

我有一个自定义子类NSWindow,它被制作成一个带有NSBordelessWindowMask的全屏无边框窗口。它工作得很好,就我所见,窗口本身没有任何问题或奇怪之处

我想弄明白的是,为什么上述窗口中的自定义子类NSView会以一种奇怪的方式响应setFrame:requests。与其简单地接受请求,不如说它们正在经历某种变化——例如,将x坐标设置为25,将宽度设置为800,并不像人们所期望的那样将视图的右边缘设置为825。相反,宽度/高度随着x和y坐标的增加而增加,即使它们在[view frame].size.width和NSLog请求时报告了正确的数字

大小调整遮罩不应该是一个问题,因为我已经完全禁用了它们,并且在几个不同的配置中得到了相同的结果


还有其他人经历过这种行为吗?

如果没有看到您用来创建窗口/视图的代码,就很难知道是什么导致了这种情况。这就是说,如果你的目标是Leopard of later,有一种内置的方法可以使视图全屏显示,这可能会有所帮助。方法是在NSView上使用选项
enterFullScreenMode:withOptions:
。若您想让整个窗口全屏显示,可以在窗口的
contentView
上调用此选项。这可能无法修复您的错误,但至少应该可以简化一点。

您可以发布一些代码,让我们看看您是如何创建窗口和视图的吗?