Выделите NSToolbarItems - PullRequest
       9

Выделите NSToolbarItems

7 голосов
/ 19 февраля 2009

Я хочу выделить выбранное NSToolbarItem, например, например. в Adium (см. скриншот).

выделите http://a2.s3.p.quickshareit.com/files/screenshot_b28b67ba9411513d6.png

Есть ли простой способ? Если нет, скажи мне трудный. =)

Ответы [ 3 ]

14 голосов
/ 19 февраля 2009

Чтобы расширить ответ Чака, вам просто нужно сделать свой контроллер делегатом вашего NSToolBar и внедрить в него метод toolbarSelectableItemIdentifiers: делегат. Например, следующая реализация позволит вам сохранить выделение выделения на каждом элементе панели инструментов, кроме элемента с надписью «Inspect»:

- (NSArray *)toolbarSelectableItemIdentifiers:(NSToolbar *)toolbar
{
    NSMutableArray *allIdentifiers = [[NSMutableArray alloc] init];

    for (NSToolbarItem *toolbarItem in [toolbar items])
    {
        if (![[toolbarItem label] isEqualToString:@"Inspect"])
            [allIdentifiers addObject:[toolbarItem itemIdentifier]];
    }

    return [allIdentifiers autorelease];
}

Я кеширую массив allIdentifiers в переменной экземпляра, когда делаю что-то подобное, так что мне нужно сделать построение массива только один раз.

8 голосов
/ 07 июля 2010

Если вы создали свою панель инструментов в Интерфейсном Разработчике, вы можете щелкнуть по отдельным элементам NSToolbarItems и установить флажок «Выбираемый» в Инспекторе для тех элементов, которые вы хотите иметь таким образом. Код не требуется.

5 голосов
/ 19 февраля 2009
...