gpt4 book ai didi

macos - 如何以编程方式关闭全屏模式 NSWindow?

转载 作者:行者123 更新时间:2023-12-03 16:11:15 24 4
gpt4 key购买 nike

我的应用程序有两个窗口(主窗口和视频窗口),两个窗口都可以独立进入全屏模式。主窗口有一个按钮可以切换视频窗口的可见性。当视频窗口可见时,按钮只需发送关闭消息,如下所示:

[theVideoWindow close];

当视频窗口未处于全屏模式时,它可以正常工作。

但是当视频窗口在全屏模式下运行时,该窗口看起来像是被命令退出(关闭),但它仍然处于事件状态(就像一个不可见的窗口)并接受鼠标事件。用户无法与其他应用程序交互,因为不可见窗口会占用所有鼠标事件,并且由于标题栏和菜单消失而无法关闭它。

除了先退出全屏模式然后在 NSWindowDidExitFullScreenNotification 通知处理程序中关闭它之外,是否还有以编程方式关闭全屏模式窗口的最佳实践?

提前致谢。

<小时/>

这似乎是我的错误。另一个开发人员在 NSWindowDidExitFullScreenNotification 通知处理程序中显式发送 orderFront: ,以使窗口在退出全屏模式后立即可见,并且使窗口仍然处于事件状态。

最佳答案

在我的应用程序上,我检查窗口是否全屏,然后使用 ToogleFullScreen 方法

- (BOOL)isFullScreen {
return ((self.window.styleMask & NSFullScreenWindowMask) == NSFullScreenWindowMask);
}

if([self isFullscreen]) {
[self.window toggleFullScreen:nil];
}

关于macos - 如何以编程方式关闭全屏模式 NSWindow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34403657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com