OS X Lion: полноэкранный NSWindow Bait & Switch - PullRequest
1 голос
/ 27 января 2012

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

Мои первые мысли сделать это - поменять окно при обнаружении точки входа в полноэкранный режим.Я обнаружил, что могу обнаружить это с помощью следующего:

- (void)windowWillEnterFullScreen:(NSNotification *)notification
{
    NSLog(@"My window is going fullscreen");
}

Но я не смог выяснить, как поменять окно на новое на данный момент.Один из вариантов, который я еще не пробовал, - это изменить все флаги изменения размера видео и скрыть другие компоненты, но я не уверен, что это будет лучшим решением.

Есть ли у кого-нибудь какие-либо предложения?на лучший способ сделать это?

1 Ответ

2 голосов
/ 28 января 2012

Почему вы хотите поменять окно? Просто манипулируйте представлениями в окне.

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

Удостоверьтесь, что вы храните ссылку на вид как где-то ивар, потому что в противном случае вид будет освобожден. Затем вы можете использовать эту ссылку, чтобы добавить вид назад, когда окно выходит из полноэкранного режима.

...