2008-10-27 11 views
22

Myślę, że tytuł prawie wszystko mówi ... Szukam implementacji interfejsu podobnego do standardowego paska bocznego OS X używanego we wszystkich wyżej wymienionych programach i zastanawiam się, czy ktoś ma jakiekolwiek myśli co do najłatwiej to zrobić, a mianowicie o tym, jakiego widoku użyć dla lewego panelu wyboru. Naprawdę nie wydaje mi się, żebym potrzebował nawet komponentu hierarchicznego, jaki widzimy w aplikacjach Apple, potrzebuję tylko dobrze wyglądającej, płaskiej listy wyborów, które determinują to, co jest pokazane w prawym okienku.W jaki sposób można zaimplementować pasek boczny podobny do Mail/iTunes/Finder/etc w Cocoa/IB?

Oczywistym początkiem jest widok pionowego układu podziału, ale poza tym nie jestem do końca pewien, gdzie się udać. Widok kolekcji z tylko jedną kolumną lub czymś w tym stylu?

Odpowiedz

28

Zrobiłem kilka aplikacji, które używają podobnej konfiguracji.

Generalnie używam NSSplitView, z pojedynczą kolumną NSTableView w lewym okienku. Nie zapomnij wyłączyć nagłówków i ustawić jako styl "Widok źródła".

Jeśli chcesz, aby trójkąty ujawnienia, będziesz chciał użyć NSOutlineView zamiast NSTableView, ale przynajmniej do pierwszego przejścia, będę trzymać się prostego NSTableView.

Wzorzec, którego również używam, powoduje, że NSTableView jest nieco krótszy niż NSSplitView i ma przyciski u dołu (dodawanie, usuwanie itd.). Zwykle tworzyłem program wokół Core Data, więc łatwo można je podłączyć do metod tworzenia/usuwania obiektów, a następnie wiązania NSTableView do tablicy obiektów.

+0

to jest tak oświecające @matthew schinckel! dzięki – swdev

19

Bezpośrednia obsługa tego typu rzeczy została dodana w systemie Leopard. Nazywa się to "listą źródeł".

Patrz: AppKit release notes. Wyszukaj NSTableViewSelectionHighlightStyleSourceList w dokumencie.

Lub przeciągnij widok tabeli i wybierz Highlight: Source List w Konstruktorze interfejsów.

+2

Będziesz także chciał zaimplementować outlineView: isGroupItem: delegować metodę, aby zwrócić TAK dla wierszy, które mają tytuły nagłówków z opcją all-caps. –

+0

Uwagi do wydania AppKit można znaleźć teraz [tutaj] (http://developer.apple.com/library/mac/#releasenotes/Cocoa/AppKitOlderNotes.html) – Stephan

Powiązane problemy