2008-12-30 7 views

Odpowiedz

12

Najpierw określ ekran, którego chcesz użyć, wykonując iterację na [ekranach NSScreen].

Tworzenie okna pełnoekranowego z:

NSScreen *screen = /* from [NSScreen screens] */ 
NSRect screenRect = [screen frame]; 
NSWindow *window = [[NSWindow alloc] initWithContentRect:screenRect 
    styleMask:NSBorderlessWindowMask 
    backing:NSBackingStoreBuffered 
    defer:NO 
    screen:screen]; 
[window setLevel: CGShieldingWindowLevel()]; 

Możesz chcieć google CGDisplayCapture(), jak również.

+0

Dziękuję, to zadziałało świetnie. Ponieważ starałem się wyprowadzać na drugi ekran, właśnie użyłem [window setLevel: NSStatusWindowLevel]; – Austin

4

Możesz zadzwonić pod numer enterFullScreenMode:withOptions:, aby uzyskać żądane zachowanie.

Zobacz Apple's documentation.

Przeczytaj here i here dla opcji, które można zastosować w tej metodzie. Aby uzyskać listę dostępnych ekranów, można użyć [NSScreen screens]. Szczegóły: here.

+0

Dziękuję za pomoc. W tym, co starałem się zrobić, myślę, że pierwsze rozwiązanie będzie dla mnie najlepsze, ale będę musiał pamiętać o metodzie widoku na pełnym ekranie. – Austin

0

Animacje na pełnym ekranie są przerywane i nie wyglądają dobrze w mojej opinii. Widok pełnoekranowy jest znacznie płynniejszy.

Spróbuj tego:

- (void)toggleMyViewFullScreen:(id)sender 
{ 
    if (myView.inFullScreenMode) { 
     [myView exitFullScreenModeWithOptions:nil]; 
    } else { 
     NSApplicationPresentationOptions options = 
      NSApplicationPresentationHideDock |  
      NSApplicationPresentationHideMenuBar; 

     [myView enterFullScreenMode:[NSScreen mainScreen] withOptions:@{ 
      NSFullScreenModeApplicationPresentationOptions : @(options) }]; 
                       }]; 
    } 
} 

Można połączyć to z pozycji menu na pełnym ekranie w menu Window (po włożeniu że w swojej stalówki), ale pamiętaj, aby zmienić działanie, że pożary pozycji menu do swojej toggleMyViewFullScreen :. Lub możesz wywołać program toggleMyViewFullScreen programowo lub po załadowaniu aplikacji.

Powiązane problemy