2013-09-24 12 views
3

투명한 배경으로 화면에 그림을 그려서 모든 항목 (예 : 열려있는 애플리케이션이 계속 표시됨)을 유지하려고합니다. 시도 :투명 NSWindow에서 투명한 NSView로 그리는 방법은 무엇입니까?

[self.window setOpaque: NO]; 
[self.window setHasShadow:NO]; 
[self.window setBackgroundColor:[NSColor clearColor]]; 
[self.window setStyleMask:NSBorderlessWindowMask]; 

내 사용자 정의 NSWindow 표시가

- (BOOL)canBecomeKeyWindow { 
    return YES; 
} 

내보기

- (void)drawRect:(NSRect)rect { 
    [[NSColor clearColor]set]; 
    NSRectFill(rect); 
    ... 
} 

문제의 drawRect을 무시 canBecomeKeyWindow를 오버라이드 (override) : 내 사용자 지정 NSWindowController의 windowDidLoad에서

은 내가 follwing을 가지고 사용하여 그리기 내 사용자 정의보기 내에서 마우스 이벤트를 사용하면 내 창 아래에있는보기/응용 프로그램에서 이러한 이벤트를 수신합니다.

NSWindow styleMask를 NSBorderlessWindowMask로 설정하지 않거나 사용자 정의보기의 배경색을 반투명으로 설정하면됩니다.

[[NSColor colorWithCalibratedRed:0 green:0 blue:0 alpha:0.05] set] 

어떻게 전체의 투명성과 NSBorderlessWindowMask와 화면에 그릴 수 있습니까? 내 사용자의 NSWindowController windowDidLoad에

[self.window setIgnoresMouseEvents:NO]; 

추가

+0

해결 [self.window의 setIgnoresMouseEvents : 아니오] 없다 내 사용자 정의 NSWindowController의 windowDidLoad가이를 해결했습니다. –

답변

0

그것을 추가