【问题标题】:Fullscreen app in OS X with multiple windows?具有多个窗口的 OS X 中的全屏应用程序?
【发布时间】:2012-03-16 00:14:43
【问题描述】:

除了具有正常的窗口行为外,我还想制作一个显示新空间背景的全屏应用程序。基本上,当用户全屏时,我希望应用程序中的每个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 方法,所以一定要设置窗口的委托。否则,可能会引起一些混乱。

【问题讨论】:

    标签: objective-c cocoa fullscreen nswindow nsapplication


    【解决方案1】:

    一个应用一次只能在一个空间上。这是一个硬性限制。如果您希望能够在全屏模式下管理多个空间上的多个窗口,您应该提交一个错误。

    【讨论】:

    • 这不是我的意思。我希望该应用程序打开一个新空间,但在该空间中拥有所有窗口。它应该一次只占用一个空间。
    • 如果是这样,那么已经可以了,但前提是其他窗口是面板,而不是全窗口。
    猜你喜欢
    • 2016-12-07
    • 1970-01-01
    • 2019-04-26
    • 1970-01-01
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    相关资源
    最近更新 更多