NSButton в NSToolbarItem (setView) при нажатии в “тексте только” режим сил к “Значку и Маркировке”

Я пытаюсь воссоздать хорошие текстурированные кнопки как Средство поиска, 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 и т.д. имеет?

7
задан Ger Teunis 2 August 2010 в 21:07
поделиться