2016-05-09 11 views
1

Ich habe eine App, die Bildschirm sperren und jetzt versuche ich es mit mehreren Bildschirmen. Ich weiß nicht, um den zweiten Bildschirm zu entsperren. hier, wie ich den zweiten Bildschirm entsperren:Entsperren zweiten Bildschirm Ziel c

if([[NSScreen screens] count] > 1){ 
    // Draw a new window to fill the screen 
    NSScreen *screen; 
    NSRect screenRect = CGRectMake(0, 0, screen.frame.size.width , screen.frame.size.height); 

    NSWindow *secondaryMonitorWindow = [[NSWindow alloc] initWithContentRect:screenRect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO screen:screen]; 


    [secondaryMonitorWindow.contentView exitFullScreenModeWithOptions:nil]; 


} 

i den ersten Bildschirm erfolgreich entsperren, aber nicht die zweite, wenn mir jemand helfen kann ...

Antwort

0

wenn jemand i fixiert es mit dem folgenden Code benötigt :

.m

[windowArray insertObject:self.window atIndex:0]; 

     //if we have many screens 
     NSRect screenRect; 
     NSArray *screenArray = [NSScreen screens]; 
     for (NSInteger index = 1; index < [screenArray count]; index++) 

     { 

      NSScreen *screen = [screenArray objectAtIndex: index]; 

      screenRect = CGRectMake(0, 0, screen.frame.size.width , screen.frame.size.height); 
      NSWindow *window = [[NSWindow alloc] initWithContentRect:screenRect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO screen:screen]; 

      [window.contentView setWantsLayer:YES]; 
      window.contentView.layer.backgroundColor = [NSColor blackColor].CGColor; 
      [window.contentView enterFullScreenMode:[[NSScreen screens] objectAtIndex:index] withOptions:nil]; 


      [windowArray addObject:window]; 

     } 

nicht in .h

hinzufügen vergessen
NSMutableArray *windowArray; 

Und exitfullscreen:

for(NSInteger index = 1; index < [windowArray count]; index ++){ 

      if([[windowArray objectAtIndex:index]contentView].inFullScreenMode){ 

       [[[windowArray objectAtIndex:index]contentView] exitFullScreenModeWithOptions:nil]; 

      } 
     }