2009-11-01 8 views
3

나는 NSWindow과 2 NSViews (NSSplitView 및 사용자 정의 NSView)입니다. 이러한보기를 채우기 위해 데이터에 액세스하는 데는 시간이 걸릴 수 있습니다. 이 기간 동안 나는이 견해들의 내용을 회색으로 보이고 싶습니다.NSWindow의 내용을 회색으로 표시합니다.

내 첫 번째 접근 방식은 검은 색 세 번째로 다른 하나를 덮고 알파 값을 변경하여 회색조 효과를 얻는 것입니다. 그러나 형제보기가있는 계층 구조가 정의되지 않았 음을 알게되었습니다.

가장 좋은 방법은 무엇입니까? 캐시는이 뷰의 NSBitmapImageRep이 다음 배경으로 캐시 된 이미지 (들)를 사용하여 3보기로 교체

  • 설정하는 방법을 얻을하는 각보기의 알파 값을 별도로 (여전히 매우 확실하지 고령화 효과 검은 배경)
  • 뭔가가 나는

답변

6

저는 자식 창을 사용합니다. 콘텐츠보기를 일반 검정색보기 (하위보기의 상태 및 진행 정보가 포함 된 상태로 설정) 및 알파 값을 원하는 페이드 아웃으로 설정하고 콘텐츠를 페이드 아웃하려는 창의 하위 창으로 추가합니다.

+0

와우. 나는 창문으로 된 창문을 본 적이 없었다. 그게 완벽 해. 고마워! – nall

+0

이 상황에서 자식 창은 약간 과잉입니다. 하위 창의 창은 NSDrawers 또는 창 가장자리에 첨부하는 팔레트와 같은 것을 의미합니다. 아래의 NSD 제안을 따르고 비활성화 상태를 구현하여 비활성 상태 일 때 다르게 그릴 수 있습니다. 이것이 Appkit이 비활성화 된 컨트롤을 처리하는 방법입니다. – NSResponder

+0

잘 진행 표시 줄을 오버레이하기를 원하기 때문에이 솔루션은 조금 더 잘 작동합니다. – nall

관련 문제