透明な背景で画面に描画したいので、すべてが表示されます (開いているアプリケーションなど)。
私のカスタム NSWindowController の windowDidLoad には、次のものがあります。
[self.window setOpaque: NO];
[self.window setHasShadow:NO];
[self.window setBackgroundColor:[NSColor clearColor]];
[self.window setStyleMask:NSBorderlessWindowMask];
私のカスタム NSWindow オーバーライド canBecomeKeyWindow
- (BOOL)canBecomeKeyWindow {
return YES;
}
私のビューは drawRect をオーバーライドします
- (void)drawRect:(NSRect)rect {
[[NSColor clearColor]set];
NSRectFill(rect);
...
}
問題:カスタム ビュー内でマウス イベントを使用して描画しようとすると、ウィンドウの下にあるビュー/アプリケーションがこれらのイベントを受け取ります。
NSWindow styleMask を NSBorderlessWindowMask に設定しない場合、またはカスタム ビューの背景色を半透明に設定する場合にのみ機能します。
[[NSColor colorWithCalibratedRed:0 green:0 blue:0 alpha:0.05] set]
完全な透明度と NSBorderlessWindowMask を使用して画面に描画するにはどうすればよいですか?