Вопрос
Я хочу выделить выделенные 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.