Question

Je travaille sur une application Mac Cocoa où je dois afficher une fenêtre / une vue sur un moniteur secondaire, en plein écran. Je sais comment créer une fenêtre qui pourrait être glissée sur le moniteur secondaire, mais je voulais créer la fenêtre par programme et la rendre en plein écran sur le moniteur externe. Merci pour l'aide.

Était-ce utile?

La solution

Tout d’abord, déterminez l’écran que vous voulez utiliser en effectuant une itération sur [écrans NSScreen].

Créez une fenêtre plein écran avec:

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()];

Vous pouvez également vouloir utiliser Google CGDisplayCapture ().

Autres conseils

Vous pouvez appeler la méthode enterFullScreenMode: withOptions: de NSView pour obtenir le comportement souhaité.

Voir Documentation Apple .

Lire ici et ici pour les options pouvant être fournies à cette méthode.

Vous pouvez utiliser [écrans NSScreen] pour obtenir la liste des écrans disponibles. Voir ici pour plus de détails.

Les animations de la fenêtre plein écran sont saccadées et, à mon avis, ne sont pas très belles. La vue plein écran est beaucoup plus fluide.

Essayez ceci:

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

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

Vous pouvez le connecter à l’élément de menu plein écran dans le menu Fenêtre (après l’avoir inséré dans votre clé), mais veillez à modifier l’action déclenchée par l’élément de menu sur votre toggleMyViewFullScreen:. Vous pouvez également appeler toggleMyViewFullScreen par programme ou lors du chargement de votre application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top