2016-05-12 4 views
0

私はアプリを持っていて、マルチスクリーンで試してみる。私は2つの画面があり、両方の画面がenterFullscreenであるときに第2の画面でフォーカスを無効にしたい、私はメイン画面にフォーカスを強制したい。 私はhereの解決策を試しましたが、何も変わりません。次のコードobjective-cの第2画面のフォーカスを無効にする

は、両方の画面がフルスクリーンモードにあるとき私は第二のウィンドウをクリックしたときに私は第二のウィンドウ(通常のイベントにフォーカスを持って、私のメインウィンドウと私の二ウィンドウ

[self.window.contentView enterFullScreenMode:[[NSScreen screens] firstObject] withOptions:nil]; 
     [windowArray insertObject:self.window atIndex:0]; 

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

     } 

ためenterFullScreen方法を示しています)しかし、私はそれを無効にして、私のメインウィンドウにフォーカスを置くようにしたい。 2番目の画面でマウスイベントを無効にしようとしましたが、動作しません。 誰かが私を助けることができたら!ありがとうございます。

+0

いくつかのコードを投稿して画面を印刷できますか?あなたが何を望んでいるのか分かりません。だから、あなたの手助けが楽になるでしょう。 –

+0

が完了しました、今、より明確になることを願って... – miDark

答えて

0

あなたにとって最良の答えかどうかはわかりませんが、コンテンツビューのsubviewsすべてを繰り返して、すべてsetEnabled:を呼び出してください。より良い、完全な答えをここに見ることができます:https://stackoverflow.com/a/16336624/2923506

for (NSView *object in [self.window.contentView subviews]) { 

    // Check it out the object 
     // set enable to NO [(id)object setEnabled:NO]; 

} 
+0

タイ!私はそれを最初に理解し、それを試してみましょう! – miDark

関連する問題