2010-12-29 6 views
3

기본적으로 이미 기본적으로 응용 프로그램이 구축되어 있습니다. 그리고 버튼을 클릭했을 때 기본적으로 응용 프로그램의 오른쪽에 나타날 NSPanel 또는 NSWindow를 만들고 싶습니다. 그런 다음 버튼을 다시 클릭하면 자동 축소됩니다.응용 프로그램 측면에 NSPanel/NSWindow를 표시하려면 어떻게합니까?

나는 무작위로 인터넷 검색을 해왔지만, 나는 옳은 것을 찾고있는 것 같지 않다.

이상적으로 그것은 응용 프로그램을 제어하지 않는다는 점을 제외하면 [NSApp beginSheet]와 똑같이 작동하는 것이 이상적입니다. 사용자가 상호 작용할 수있는 다른 창과 같을 것입니다.

어떻게 시작할 수 있습니까?

감사합니다.

답변

3

서랍 (NSDrawer)을 원하는 것처럼 들립니다. 서랍은 대부분의 앱 디자이너들에게 호의적이지는 않지만 Mac OSX에서 Cocoa의 공식 지원 부분입니다. 서랍을 사용하여 메인 윈도우를 어수선하게 만들고 싶지 않은 컨트롤들을 숨길 수 있습니다.

Xcode에서 "서랍"을 검색하면 제목 아래에 서랍 설명서와 DrawerMadness 샘플 코드가 표시됩니다. 아주 작은 코드로 버튼을 열어서 서랍을 닫을 수 있습니다.

A good pro/con discussion of using drawers

더 일반적인 솔루션은 자식 창입니다. 그것은 문서 또는 다른 창에 붙어있는 완전히 별개의 창 (아마도 제목 표시 줄없이)입니다. 질문에서 "내 응용 프로그램의 오른쪽"은 "내 창 오른쪽"을 의미합니다. NSWindow addChildWindow : ordered에 대한 설명서를 참조하십시오. 자식 윈도우는 윈도우가 드래그 된 경우에도 부모 윈도우에 계속 남아 있습니다. 그러나 아동용 창문은 서랍보다 훨씬 효과적입니다.

5

3 년 후.

  • 다음 중 하나를 추가 할 창/서랍 콤보 위로 드래그하십시오. A) 창. B) 서랍보기 C) 서랍 컨트롤러
  • 새 D) 공개 트라이앵글 버튼을 메인 창 위로 드래그
  • C) 서랍 컨트롤러 "토글 :"(수신 된 작업)을 D) 공개 삼각형 버튼 작업)

기존 창에 서랍을 추가하려는 경우.

  • 연결구 콘센트에서 C) 컨트롤러의 "parentWindow"콘센트를 바인딩 해제합니다.
  • 그) A) 창문
  • "parentWindow"아울렛에 창을 바인딩하십시오.

빙고. 아이폰/아이 패드 UI/UX와

서랍 개념의 충돌 속으로 밀어 뭔가에 대한 측면 부동산이 없기 때문에 /이 열립니다 공개 버튼은 서랍

(!) 참고를 닫습니다. 서랍은 내 생각에 멋지다. 그리고 살인자는 쉽게 추가 할 수 있습니다. 그리고 창에 완벽하게 맞는 크기.

+0

parentWindow에 창을 바인딩하는 방법에 대해 머리를 긁는 사람은 왼쪽에서 자리 표시 자 아래에 서랍이있는 객체가 있어야합니다. 드로어를 클릭하여 콘센트 parentWindow를 봅니다. –

관련 문제