objective-c - OS X 中的全屏应用程序有多个窗口吗?

标签 objective-c cocoa fullscreen nswindow nsapplication

我想制作一个全屏应用程序,除了具有正常的窗口行为之外,还可以显示新空间的背景。基本上,当用户全屏显示时,我希望应用程序中的每个 NSWindow 保持相同的大小,保持在屏幕的相同位置,但移动到新的空间。这可能吗?如果是这样,这种行为的文档在哪里?

编辑:我知道这已经很老了,但我刚刚发现customWindowsToEnterFullScreenForWindow。我已经用它来解决问题了。代码如下,以防其他人也有兴趣这样做。

- (NSArray*) customWindowsToEnterFullScreenForWindow:(NSWindow*)window {
    if ([window isEqualTo:self.window]) {
        return [NSArray arrayWithObjects:window, otherwindow, nil];
    }

    return nil;
}

- (NSArray*) customWindowsToExitFullScreenForWindow:(NSWindow*)window {
    if ([window isEqualTo:self.window]) {
        return [NSArray arrayWithObjects:window, otherwindow, nil];
    }

    return nil;
}

这些是 NSWindowDelegate 方法,因此请务必设置窗口的委托(delegate)。否则,可能会引起一些困惑。

最佳答案

一个应用程序一次只能出现在一个空间上。这是一个硬限制。如果您希望能够以全屏方式管理多个空间上的多个窗口,则应该提交错误。

关于objective-c - OS X 中的全屏应用程序有多个窗口吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9449505/

相关文章:

用于移动设备的 html5 全屏 API

java - 全屏独占模式下的 AWT 框架在窗口弹出对话框中最小化

ios - CLLocationManager 即使在不需要时仍然存在

objective-c - 使用 Cocoa/OSX 合并/堆叠两个图像

iphone - iOS 中 UI 控件状态管理的设计模式

cocoa - 在 cocoa 中以编程方式打开和关闭窗口

objective-c - NSPredicateEditorRowTemplate,用空格指定关键路径?

cocoa - KVO 无限递归/循环

swift - OS X swift 发送带附件的邮件

c# - 如何以编程方式将视频通话设置为全屏启动? (Lync SDK)