소스 목록의 다른 요소가 주 콘텐츠 영역에서 다른보기를 표시하도록하는 iTunes 스타일로 소스 목록을 사용하는 Cocoa 데스크톱 응용 프로그램을 개발 중입니다.별도의 NIB 파일에서로드 된 하위보기를 표시하는 방법
내용 영역은 전체적으로 (수직) NSSplitView
으로 채워집니다. 왼쪽에 NSOutlineView
소스 목록이 있습니다. 사용자가 왼쪽의 항목을 선택하면 관련 뷰가 스플리터의 오른쪽에 나타납니다.
모든 것을 하나의 NIB 파일에 넣고 테두리가없는 NSTabView
을 스플리터 오른쪽에 붙이면 충분히 잘 작동합니다. 보기를 전환하려면 선택한 탭을 변경해야합니다. 그러나 모든 견해를 하나의 NIB에 넣는 것은 나쁜 습관이므로 각 하위 뷰를 NIB 파일로 이동하려고합니다.
EntityDetailViewController
,
GroupDetailViewController
등)이 각보기에 대한
NSViewController
서브 클래스를 만들었습니다, 관련 컨트롤러에 각각의 새로운 NIB의 파일의 소유자를 설정 각 NIB에서
view
연결을 설정하고 바인딩을 다시 작업하십시오. 내가 모르는 것은 화면에 어떤 하위 뷰가 표시되는지 실제로 변경하는 방법입니다.
오른쪽에 기본 제본 NSView
을 사용하여 메시지를 보내려고 시도했습니다. addSubview:
메시지입니다. 첫 번째 하위보기 및 호출로 연결하려고 시도했습니다.
NSView *newSubview = /* get subview from the new subview controller */
[[subview superview] replaceSubview:subview with:newSubview];
[self setSubview:newSubview];
하지만 모든 것이 공백으로 남겨 둡니다. 별도의 NIB에서로드 된 하위보기를 표시하려면 어떻게합니까?
Marcus,이 작업을 수행 할 수 있었습니까? – tofutim