Я пытаюсь воссоздать хорошие текстурированные кнопки как Средство поиска, Safari и Передача имеют на их панели инструментов. Сначала я запустил, просто притянув "Кнопку Texture" в IB и таком. Все работы хорошо за исключением того, когда пользователь устанавливает панель инструментов на режим "Text only". Когда он затем нажмет кнопку, панель инструментов включит "Значок и Маркировку" на своем собственном. Я имею, удаляют код союзников и делегаты от панели инструментов, чтобы удостовериться, что это не проблема кода.
Затем только для проверки я создал новый проект (никакой код вообще), и я могу воспроизвести проблему с чистым NSWindow с NSToolbar с одним NSToolbarItem с NSButton в нем.
Добавление NSButtons с помощью кода как:
- (NSArray*)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar {
return [NSArray arrayWithObject:@"myToolbarMenu"];
}
- (NSArray*)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar {
return [self toolbarAllowedItemIdentifiers:toolbar];
}
- (NSToolbarItem*)toolbar:(NSToolbar*)toolbar
itemForItemIdentifier:(NSString*)str
willBeInsertedIntoToolbar:(BOOL)flag
{
if ([str isEqualToString:@"myToolbarItem"] == YES) {
NSToolbarItem* item = [[NSToolbarItem alloc] initWithItemIdentifier:str];
[item setView:[[NSButton alloc] init]];
[item setMinSize:NSMakeSize(50,50)];
[item setMaxSize:NSMakeSize(50,50)];
[item setLabel:@"Text"];
return [item autorelease];
}
return nil;
}
Но это также имеет тот же эффект: когда я нажимаю NSToolbarItem с NSButton в нем в "тексте, только режим" сама панель инструментов вызывает, это - режим к "Значку и тексту".
У Вас есть какая-либо идея, как я могу сделать, она работать правильно или возможно иметь альтернативу созданию симпатичного toolbaritems как Safari и т.д. имеет?