Полноэкранное приложение в OS X с несколькими окнами?

Я хочу сделать полноэкранное приложение, которое показывает фон нового пространства в дополнение к нормальному поведению окна. По сути, когда пользователь переходит в полноэкранный режим, я хочу, чтобы все 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, поэтому обязательно установите делегат окна. В противном случае это может вызвать некоторую путаницу.


person Justin    schedule 26.02.2012    source источник


Ответы (1)


Приложение может находиться только в одном пространстве одновременно. Это жесткое ограничение. Вы должны сообщить об ошибке, если хотите иметь возможность управлять несколькими окнами в нескольких пространствах в полноэкранном режиме.

person Rob Keniger    schedule 26.02.2012
comment
Это не совсем то, что я имел в виду. Я хочу, чтобы приложение открывало новое пространство, но все его окна находились в этом пространстве. Он должен занимать только одно место за раз. - person Justin; 26.02.2012
comment
Если это так, то это уже возможно, но только если остальные окна будут панелями, а не полноценными окнами. - person Rob Keniger; 27.02.2012