2010-07-07 4 views
2

나는 (제목 표시 줄 등), NSWindow 표시가 불투명하기가있는 contentView이 서브 클래스는 NSView로 설정되어코어 애니메이션 - Windows 7의 윈도우 닫기 효과를 시뮬레이트 하시겠습니까?

화면 보호기 수준 (응용 프로그램 그래서 "최상위"창)에 앉아 그림자 등을 설정하지 아무 장식 기본 NSWindow 표시가 CIImage를 그려서 "Loading"이라고 말한 광산 중 하나입니다.

이 전체 창이 화면 중앙에 배치됩니다. 로딩 이벤트가 다른 곳에서 발생하면 열립니다. 하중이 끝나면 창을 닫습니다.

즉시 표시되고 즉시 사라지는 대신 Windows 7/Aero 창 닫기 효과처럼 사라지게하는 것이 좋습니다. 동일한 방식으로 나타납니다.

명확히하기 : 창이 닫히면 크기가 약 20 % 증가하고 반투명 해집니다. 열린 상태에서 창은 시작한 것보다 약 20 % 더 크게 나타나고 불투명하게 페이드 인됩니다.

어떻게해야합니까? 한 가지 방법은 NSWindow를 실제로 20 %를 baseizes로 만들고 NSAnimation을 사용하여 뷰를 애니메이션으로 만들 수 있다는 것입니다. 그러나 이것은 직접 "좋은"방법으로 보이지 않습니다. 내가 설명하는 방식으로이 창을 애니메이션 처리하는 데 CA를 어떻게 사용할 수 있습니까? 다른 솔루션을 열어도

+0

무슨 목적으로? NSWindow를 서브 클래 싱하는 이유는 무엇입니까? 실제로 스크린 세이버를 만들고 있습니까? – mcandre

+0

NSWindow를 하위 클래스로 만들지 않고 장식이없고 높은 수준으로 설정하여 열려있는 모든 창 위에 표시되도록 설정하고 있습니다. 그것은 모두 잘 작동합니다. NSView를 서브 클래 싱하고 contentView를 설정하여 NSWindow에 그리기 위해 특수한 드로잉 코드를 배치 할 수 있습니다. 이것은 모두 작동합니다. (아니 화면 보호기, 나는 스플래시 화면을 만들고있어.이 특정 사용 외부 질문을 적용) – Nektarios

답변

1

NSViewAnimation을 사용하여 창을 페이드하고 크기를 조정할 수 있습니다. 그것의 이름과 반대로, 그것은 창뿐만 아니라 전망에 작동한다.

Windows를 사용하지 않으므로 Windows 7의 효과가 어떤 것인지 전혀 알지 못합니다.

관련 문제