我使用以下代码更改窗口的大小和内容。
- (BOOL)windowShouldZoom:(NSWindow *)window toFrame:(NSRect)newFrame{
[self switchToOtherSize];
return NO;
}
现在,绿色按钮使应用程序全屏显示,此代码不再起作用,因为绿色按钮默认不再“缩放”。
我找不到类似的委托来捕捉绿色按钮上的点击操作并“返回NO”。
有办法做到这一点吗?
我尝试了以下内容,它可以正常工作但抛出一个丑陋的异常,该异常表示该方法应该返回一个包含“全屏”的值。
-(NSApplicationPresentationOptions)window:(NSWindow *)window willUseFullScreenPresentationOptions:(NSApplicationPresentationOptions)proposedOptions{
[self switchToOtherSize];
return NSApplicationPresentationDefault;
}
答案 0 :(得分:1)
对我来说,这将有效(10.10& 10.11):
[self.window setCollectionBehavior: NSWindowCollectionBehaviorFullScreenAuxiliary];
答案 1 :(得分:0)
如果您不想让您的窗口全屏显示,请不要在NSWindowCollectionBehaviorFullScreenPrimary
窗口中添加collectionBehavior
。在Interface Builder中,有一个"全屏"窗口属性检查器上的弹出菜单,您可以将其设置为“不支持”。
当禁用此功能时,绿色按钮将变回缩放按钮。