2014-01-12 5 views
0

NSView에서 이미지 배경을 그리고 그 위에 투명한 배경을 가진 일부 요소를 배치하고 싶습니다. 그 a've는 이상한 효과를 얻었다 후NSView에서 투명 요소로 이미지 배경을 그립니다.

- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag 
{ 
self = [super initWithContentRect:contentRect styleMask:aStyle backing:bufferingType defer:flag]; 
if (self) { 
    [self setOpaque:NO]; 
    [self setHasShadow:YES]; 
    [self setBackgroundColor:[NSColor clearColor]]; 
} 

return self; 
} 

:

- (void)drawRect:(NSRect)rect 
{ 
[NSGraphicsContext saveGraphicsState]; 

NSImage *image = [NSImage imageNamed:@"header_background.gif"]; 

[image drawInRect:CGRectMake(0, rect.size.height - 75, rect.size.width, 75) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0]; 

[NSGraphicsContext restoreGraphicsState]; 
} 

NSWindow 표시 초기화 :

나는 NSView의의 오버라이드 그리기 RECT를했습니다. 슬라이더와 버튼 배경이 때때로 깜박입니다. enter image description here

내가 뭘 잘못하고 있니?

답변

1

먼저 이미지를 그릴 때 "색"이 무시되므로 아무 것도하지 않습니다. 둘째, 내가 여기있는 코드가 문제의 원인이 아닌 것 같습니다. 나머지 파일을 게시 할 수 있습니까?

지금 당장 나는이 뷰를 불투명하다고 표시했거나 없을 때 또는 뷰 계층에서 이상한 점이 있다고 의심하고 있습니다.

+0

답변 해 주셔서 감사합니다. 현재 상태로 첫 번째 게시물을 업데이트했습니다. 아직 문제는 .. .. 그건 그렇고, 내가 크기를 조정할 때 요소의 창 배경이 정상 (투명하지 않음)이됩니다. 그러나 업데이트 될 때 문제가 다시 나타납니다. –

+0

NSView에서 그려진 배경을 요소가 무시하고있는 것처럼 보입니다. –

+0

왜 setOpaque를 호출합니까? NO? 완전히 깨끗한 창문을 만들려고하십니까? 제목 표시 줄은 어떻습니까? –

관련 문제