2011-04-05 2 views
2

나는이 그림이 중첩 된 뷰에서 수행되고이은 NSViews

[[NSColor colorWithCalibratedWhite:0.250 alpha:0.700] set]; 
NSRectFill(dRect); 

같은 코드 내 NSView의의의 drawRect에서 몇 가지 간단한 드로잉을하고 있어요 통해 모든 길을가는 투명 도면을 중지하고 나는 것을 찾는거야 투명도는 부모보기와 그 아래에있는 일부 화면을 보여주는 창을 통해 완전히 간다. 투명도는 그 전에 프레임에서 이루어졌다 상위 뷰 (또는 도면에 통과 있도록

어떻게 그것을 얻을 수 있습니까?

감사합니다!

답변

4

당신 정말 사용하지 않아야 NSRectFill 투명한 색상을 그립니다. 전화를

NSRectFill(rect); 

에 정말

NSRectFillUsingOperation(rect, NSCompositeCopy); 
단지 바로 가기입니다

NSCompositeCopy가 합성을 수행하지 않으므로 투명 NSColor가 설정된 경우 예기치 않은 결과가 발생할 수 있습니다.

이 대신 사용해보십시오 : 기본 그리기 볼에 제대로 투명성을 그린다

[[NSColor colorWithCalibratedWhite:0.250 alpha:0.700] set]; 
[NSBezierPath fillRect:rect]; 

.