Objective c 缩放NSBorderlessWindowMask样式的NSWindow

Objective c 缩放NSBorderlessWindowMask样式的NSWindow,objective-c,cocoa,nswindow,resize,zooming,Objective C,Cocoa,Nswindow,Resize,Zooming,我有一个使用NSBorderlessWindowMask的NSWindow样式,它需要调整大小,但我希望它在两个大小之间缩放。根据Apple文档,当使用NSWindow的-performZoom方法时,不支持调整大小的窗口将发出蜂鸣音 是否有办法使用内置逻辑,使用窗口的最大尺寸、屏幕限制,并恢复到原始窗口位置预缩放,无需指定NSResizableWindowMask?就可以使用,您无法使用内置逻辑,使用窗口的最大大小、屏幕绑定限制,调整无边框窗口的大小,并还原回原始窗口位置预缩放,而无需指定NS

我有一个使用
NSBorderlessWindowMask
NSWindow
样式,它需要调整大小,但我希望它在两个大小之间缩放。根据Apple文档,当使用
NSWindow
的-
performZoom
方法时,不支持调整大小的窗口将发出蜂鸣音


是否有办法使用内置逻辑,使用窗口的最大尺寸、屏幕限制,并恢复到原始窗口位置预缩放,无需指定
NSResizableWindowMask

就可以使用,您无法使用内置逻辑,使用窗口的最大大小、屏幕绑定限制,调整无边框窗口的大小,并还原回原始窗口位置预缩放,而无需指定NSResizableWindowMask即可使用

若你们想切换无边框窗口的大小,你们可以像这样使用setFrame:display:method-

NSRect window = [window frame];

if (window.size.width == 50) {

    [window setFrame:NSMakeRect(50, 50, 500, 500) display:NO];
}
else {
    [window setFrame:NSMakeRect(50, 50, 50, 50) display:NO];
} 

我想,但值得一试。只有这种方法不考虑屏幕的边界,也不考虑在确定窗口是否缩放时实现的模糊逻辑。我将继续使用NSScreen和其他API实现所有上述逻辑。我只是想知道是否有什么我可以覆盖的实现,以假缩放是可用的。我将首先尝试在NSResponder上使用-tryToPerform之类的工具。