2009-09-17 6 views
9

Piszę aplikację Cocoa, która wyświetla zawartość pliku archiwum w NSOutlineView. Dostarczam niestandardową ikonę dla NSBrowserCell w kolumnie konturu i działa świetnie, ale wpadłem na mały szkopuł - użycie [NSImage imageNamed:@"NSFolder"] zwraca prawidłowy obraz (ogólna ikona folderu) na 10.6, ale na 10.5 zwraca zero, więc wszystkie ikony folderów znikają. (Nie mogę znaleźć żadnej dokumentacji na temat nazwy ikony NSFolder, aby zobaczyć, kiedy została wprowadzona - mam działającą próbną i błędną.)Jak uzyskać NSImage ogólnej ikony folderu na OS X 10.5 i 10.6

Czy istnieje niezastrzeżona metoda uzyskiwania ogólnej ikony folderu, która działa zarówno 10,5, jak i 10,6?

Odpowiedz

17

[[NSWorkspace sharedWorkspace] iconForFileType:NSFileTypeForHFSTypeCode(kGenericFolderIcon)]

(chyba)

+3

(FWIW, NSImageNameFolder (co zakładam jest @ "NSFolder") został wprowadzony w 10.6.) – Wevah

+2

Dziękujemy! Co najmniej raz w tygodniu dowiaduję się czegoś nowego o Cocoa ... Nie pomyślałabym, żeby szukać w NSImage.h dla stałych takich jak 'NSImageNameFolder' i nigdy nie wiedziałam o' kGenericFolderIcon', która jest jedną z wielu stałych zdefiniowanych w IconsCore .h, część LaunchServices.framework. Z pewnością miło jest o tym wiedzieć. –

+0

A jak Google nie dał mi tego, gdy poprosiłem o "ikonę folderu ogólnego kakao" ?! http://cocoadev.com/index.pl?GetGenericFolderIcon powinienem był pobrać kod na RedSweaterBlog, ale był uruchomiony na pasku bocznym i przegapiłem go ... –

Powiązane problemy