2010-06-20 3 views
1

Mac OS X 용으로 개발하는 동안 Objective-C와 Cocoa를 사용하고 있습니다. iPhone/Cocoa Touch가 아닙니다. (즉, 아이폰과 동일한 절차라면 관심이있을 것입니다.)커스텀 뷰에 "NSView"그리기 - 어떻게? 올바른 접근 방식을 취하고 있습니까?

간단한 응용 프로그램의 환경 설정 창에서 작업하고 있습니다. 툴바가있는 NSWindow가 있습니다 - 툴바에 5 가지 항목이 있습니다. 모두 다른 옵션을 가져와야합니다.

그래서 인터페이스 작성기에서 NSToolbar와 해당 항목을 설정 한 다음 메뉴의 나머지 부분을 차지하면서 메뉴 아래에 사용자 정의보기를 배치했습니다. 내 계획은 인터페이스를 각각의 NSToolbarItems 옵션을 사용하여 작업 한 다음 지정한 NSToolbarItem 클릭 할 때 해당보기를 사용자 지정보기로 그립니다.

간단히 말해 각 뷰에 대해 NSView 하위 클래스를 만들고 인터페이스 빌더에서 빈 xib를 만든다고 추측합니다. xib를 사용자 정의 NSView로 설정하고 평소대로 코드를 작성하십시오.하지만 몇 가지 문제가 있습니다.

1 - 그러면 어떻게 xib 파일을 사용자 정의보기에 표시 할 수 있습니까? 나는 주변을 둘러 보았고 대부분의 기사에는이 상황이없는 것 같아요. 또는 관련 상황도 있습니다.

2 - 창이 나타나면 기본보기가 사용자 정의보기에 나타나길 원합니다. 다시 한번, NSWindow의 초기화 코드에이 내용을 적어 두었습니다. 다시 질문 1로 돌아갑니다. NSView를 Interface Builder에 지정된 사용자 정의 뷰로 그리려면 어떻게해야합니까?

정말 도움이 되었으면합니다. 미리 환호하십시오.

답변

1

그래서 인터페이스 작성기에서 NSToolbar와 해당 항목을 설정 한 다음 메뉴의 사용자 정의보기를 나머지 창을 차지합니다.

창 안에는 메뉴를 만들 수 없습니다. 메뉴가 있지만 직접 메뉴가없는 팝업 버튼을 가질 수 있습니다. 여기에 "도구 모음"을 의미하셨습니까?

사용자 정의보기를 만들 필요가 없습니다. 탭보기를 만들고 탭이 없도록 설정하십시오. 도구 모음 항목과 동일한 수의 탭보기 항목을 제공하십시오. 컨트롤러에서 각 도구 모음 항목에 대한 작업 방법을 작성하고 각 작업 방법에서 탭보기의 활성 탭을 전환합니다.

IB의 다른 탭을 활성화하여 IB의보기를 채울 수 있습니다. 활성 탭은 펜촉에 저장되므로 저장하기 전에 첫 번째 탭으로 다시 설정해야 앱이 실행될 때 첫 번째 탭이 처음 활성화됩니다.

어떻게 사용자 정의보기에 xib 파일을 표시 할 수 있습니까?

그 질문은 이해가되지 않습니다.

다시 한 번 생각해 보면, NSWindow의 초기화 코드에 그 내용을 적어 두었습니다.

NSWindow를 서브 클래 싱 한 경우에만 가질 수있는 자신 만의 초기화 코드가있는 경우에만이 작업을 수행 할 수 있습니다.이를 수행 할 이유가 거의 없습니다. 윈도우 자체를 다르게 보이게하지 않는 한 (Aqua 나 HUD 윈도우를 만들지 않는다면) 초기화 코드를 다른 곳으로 옮겨야합니다. 아마도 앞서 언급 한 컨트롤러 (File 's Owner of the Nib)가 될 것입니다.

질문 1로 돌아갑니다. NSView를 인터페이스 작성기에 지정된 사용자 정의보기로 그리려면 어떻게합니까?

인터페이스 빌더 에서 사용자 정의보기 (명시 적으로 생성 NSView의의 서브 클래스로 변경하지 않는 한) 일반 NSView의입니다. 그러나 질문에 설명 된 내용이 필요하지 않습니다.