Где находятся файлы изображений для констант в NSImage? - PullRequest
2 голосов
/ 19 апреля 2010

Я бы хотел получить файлы изображений для констант, определенных в NSImage.h, например, NSImageNameGoRightTemplate. Я хотел бы скопировать и отредактировать некоторые из них. Кто-нибудь знает, где находятся эти изображения? Я слишком глуп, чтобы найти их на диске ...

Ответы [ 2 ]

1 голос
/ 30 апреля 2012

Я использую расширение категории с этим массивом, если я хочу изображения:

@implementation NSImage (SystemImages)

+ (NSArray*) systemImages {
    static NSArray *images;

    return images = images ?: ({
        NSMutableArray *imgs = @[].mutableCopy;

        for (id name in @[
            NSImageNameQuickLookTemplate,
            NSImageNameBluetoothTemplate,
            NSImageNameIChatTheaterTemplate,
            NSImageNameSlideshowTemplate,
            NSImageNameActionTemplate,
            NSImageNameSmartBadgeTemplate,
            NSImageNameIconViewTemplate,
            NSImageNameListViewTemplate,
            NSImageNameColumnViewTemplate,
            NSImageNameFlowViewTemplate,
            NSImageNamePathTemplate,
            NSImageNameInvalidDataFreestandingTemplate,
            NSImageNameLockLockedTemplate,
            NSImageNameLockUnlockedTemplate,
            NSImageNameGoRightTemplate,
            NSImageNameGoLeftTemplate,
            NSImageNameRightFacingTriangleTemplate,
            NSImageNameLeftFacingTriangleTemplate,
            NSImageNameAddTemplate,
            NSImageNameRemoveTemplate,
            NSImageNameRevealFreestandingTemplate,
            NSImageNameFollowLinkFreestandingTemplate,
            NSImageNameEnterFullScreenTemplate,
            NSImageNameExitFullScreenTemplate,
            NSImageNameStopProgressTemplate,
            NSImageNameStopProgressFreestandingTemplate,
            NSImageNameRefreshTemplate,
            NSImageNameRefreshFreestandingTemplate,
            NSImageNameBonjour,
            NSImageNameComputer,
            NSImageNameFolderBurnable,
            NSImageNameFolderSmart,
            NSImageNameFolder,
            NSImageNameNetwork,
            NSImageNameDotMac,
            NSImageNameMobileMe,
            NSImageNameMultipleDocuments,
            NSImageNameUserAccounts,
            NSImageNamePreferencesGeneral,
            NSImageNameAdvanced,
            NSImageNameInfo,
            NSImageNameFontPanel,
            NSImageNameColorPanel,
            NSImageNameUser,
            NSImageNameUserGroup,
            NSImageNameEveryone,
            NSImageNameUserGuest,
            NSImageNameMenuOnStateTemplate,
            NSImageNameMenuMixedStateTemplate,
            NSImageNameApplicationIcon,
            NSImageNameTrashEmpty,
            NSImageNameTrashFull,
            NSImageNameHomeTemplate,
            NSImageNameBookmarksTemplate,
            NSImageNameCaution,
            NSImageNameStatusAvailable,
            NSImageNameStatusPartiallyAvailable,
            NSImageNameStatusUnavailable,
            NSImageNameStatusNone
        ])
        {
            [imgs addObject:[NSImage imageNamed:name]];
        }
        imgs.copy;
    });
}

@end
1 голос
/ 21 апреля 2010

Насколько я знаю, они не расположены в одном месте, и их имена могут вообще не отражать названия констант.

Они могут быть расположены в папке «Resources» платформы, например,

/System/Library/Frameworks/AppKit.framework/Resources/

или непосредственно в приложении, например

/System/Library/CoreServices/Finder.app/Contents/Resources/

Вы также можете взглянуть на тематическое приложение, например CandyBar. Может быть, вы сможете увидеть некоторые пути в двоичном файле.

...