2011-02-01 4 views
1

NSWindow-Object에 사용자 정의 그림자를 그려야합니다.사용자 정의 그림자가있는 NSWindow

NSWindow에 고유 한 NSShadow-Object를 전달하여이 작업을 수행 할 수 있습니까? 아니면 (개인) 메서드, 내 자신의 드로잉 코드를 넣을 수 있습니까?

감사합니다.

답변

3

아니요. 창의 모양을 변경하면 안됩니다. UI의 모양을 변경하는 것은 Apple에만 허용됩니다. 일반 앱은 표준 앱을 사용해야합니다.

그건 그렇고, 만약 당신이 정말로 그것을 주장한다면, 방법이 있습니다. 안타깝게도 NSShadow을 첨부 할 수 없습니다. 또한, 내가 이해하는 한, 그림자를 그리는 개인적인 방법은 없습니다. 그게 응용 프로그램이 아니라 Window Server에 의해 이루어집니다.

하지만 창 서버에 그림자를 추가하지 않도록 요청할 수 있습니다. 인터페이스 빌더에는 주어진 윈도우의 그림자를 숨기는 옵션이 있습니까? 이는의 자산 hasShadow에 해당합니다.

그림자를 억제 한 후에는 모든 것을 직접 그려야합니다. 사용자 지정 창 드로잉을 수행하는 멋진 샘플 코드는 ADC에서 사용할 수 있으므로 살펴보십시오.

+0

인용 된 예를 살펴보십시오. 투명 테두리없는 윈도우를 그리는 좋은 예이지만, 수동으로 윈도우의 그림자를 그리는 데는별로 말할 것도 없습니다. 투명 테두리없는 윈도우의 내용을 기반으로 기본 그림자를 사용합니다 (이 경우 원/오각형 영상). 관련된 질문은 다음과 같습니다. http://stackoverflow.com/questions/8948228/make-borderless-window-with-darker-larger-shadow – Dalmazio

+1

@Yuji, 기본 NSWindow 그림자가 켜져있을 때 그림자가 두 개있는 것으로 나타났습니다. 초점과 때. 기본적으로 포커스가있을 때 더 많은 그림자가 있습니다. 어떻게 ADC를 사용하여 그 동작을 얻을 수 있습니까? –

관련 문제