2008-10-27 4 views
22

제목이 꽤 많이 다 있다고 생각합니다. 위에서 언급 한 모든 프로그램에서 사용되는 표준 OS X 사이드 바와 비슷한 인터페이스를 구현하려고합니다. 누구에게나 생각이 있다면 궁금합니다. 가장 쉬운 방법, 즉 왼손 선택 창에 사용할보기에 관한 것입니다. 실제로 애플 앱처럼 계층 적 구성 요소가 필요 없다고 생각합니다. 오른쪽 창에 무엇이 표시되는지 결정하는 올바른 선택형 목록이 필요합니다.어떻게하면 코코아/IB에서 Mail/iTunes/Finder/etc와 비슷한 사이드 바를 구현할 수 있습니까?

명백한 출발점은 수직 분할 레이아웃보기입니다. 그러나 그 이상으로 나는 어디로 가야할지 완전히 확신하지 못합니다. 하나의 열 또는 이와 비슷한 컬렉션 뷰?

답변

28

비슷한 설정을 사용하는 몇 가지 응용 프로그램을 만들었습니다.

일반적으로 NSSplitView를 사용하며 왼쪽 창에 단일 열 NSTableView가 있습니다. 헤더를 사용하지 않도록 설정하고 "소스보기"스타일로 표시되도록 설정하십시오.

공개 삼각형을 원할 경우 NSTableView 대신 NSOutlineView를 사용하고 싶지만 적어도 처음에는 간단한 NSTableView를 사용해야합니다.

또한 패턴은 NSSplitView보다 NSTableView를 약간 짧게 만들고 (추가, 삭제 등) 맨 아래에 버튼이 있습니다. 일반적으로 코어 데이터 주위에 프로그램을 만들었으므로 개체를 만들고 삭제하는 메서드에 이러한 메서드를 연결 한 다음 NSTableView를 개체 배열에 바인딩하는 것이 쉽습니다.

+0

이렇게 @matthew schinckel을 계몽합니다! thanks – swdev

19

Leopard에서 이러한 종류의 작업에 대한 직접 지원이 추가되었습니다. '소스 목록'이라고합니다.

AppKit release notes을 참조하십시오. 문서에서 NSTableViewSelectionHighlightStyleSourceList를 검색하십시오.

또는 표보기를 끌어서 Interface Builder에서 Highlight: Source List을 선택하십시오.

+2

또한 모든 대문자 헤더 제목이있는 행에 대해 YES를 반환하려면 outlineView : isGroupItem : delegate 메서드를 구현해야합니다. –

+0

AppKit 릴리즈 노트는 [here] (http://developer.apple.com/library/mac/#releasenotes/Cocoa/AppKitOlderNotes.html)에서 확인할 수 있습니다. – Stephan

관련 문제