Вопрос

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

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

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

Это было полезно?

Решение

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

- (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 в переменной экземпляра, когда делаю что-то подобное этому, так что мне нужно выполнить построение массива только один раз.

Другие советы

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

Видишь Выбираемые Элементы панели инструментов в документации Cocoa.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top