Добавить программно искать текстовое поле как пункт меню в Какао - PullRequest
0 голосов
/ 26 июля 2011

Я хочу иметь окно ввода поиска, как в iTunes.У меня есть панель инструментов, которая отображается, у меня есть следующий код, который показывает пользовательский toobaritem, он имеет правильное описание серым цветом и показывает текст «Fnurd ..» фиолетовым, но текст не редактируется!Это сводит меня с ума, что я делаю не так?

- (NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString *)itemIdentifier willBeInsertedIntoToolbar:(BOOL)flag
{
    NSToolbarItem *item = [[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier];

    if ( [itemIdentifier isEqualToString:@"SearchItem"] ) {

        //Land in sight !
        NSLog(@"### Setting up Search Item Menu Entry");        

        //Starter size
        NSRect cellFrame = NSMakeRect(0,0,200,25);
        //Create/allocate Control
        searchMenuControl = [[NSControl alloc] initWithFrame:cellFrame];
        //Create/allocate Cell
        searchMenuCell = [[NSTextFieldCell alloc] initTextCell:@"Fnurd.."];

        //Assign cell to control        
        [searchMenuControl setCell:searchMenuCell];

        //Do some polishing
        [searchMenuCell setBezelStyle:NSTextFieldRoundedBezel];
        [searchMenuCell setBackgroundColor:[NSColor whiteColor]];
        [searchMenuCell setTextColor:[NSColor blackColor]];     
        [searchMenuCell setEnabled:YES];
        [searchMenuCell setCellAttribute:NSCellEditable to:YES];


        cellFrame = [searchMenuControl frame];

        // Configuration code for "SearchItem"
        [item setLabel:@"Search Records"];
        [item setPaletteLabel:[item label]];
        [item setView:searchMenuControl];
        [item setMinSize:cellFrame.size];
        [item setMaxSize:cellFrame.size];       
    }

    return [item autorelease];
}

Ответы [ 2 ]

3 голосов
/ 26 июля 2011

Публикация в stackoverflow - волшебство, вы обязательно найдете ответ на один запрос Google позже ..

Какао в основном имеет виджет поля поиска, который вы можете использовать ..

- (NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString *)itemIdentifier willBeInsertedIntoToolbar:(BOOL)flag
{
    NSToolbarItem *item = [[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier];

    if ( [itemIdentifier isEqualToString:@"SearchItem"] ) {

        //Land in sight !
        NSLog(@"### Setting up Search Item Menu Entry");        

        searchField = [[NSSearchField alloc] init];
        [searchField sizeToFit];

        NSRect cellFrame = [searchField frame];

        // Configuration code for "SearchItem"
        [item setLabel:@"Search"];
        [item setPaletteLabel:[item label]];
        [item setView:searchField];
        [item setMinSize:cellFrame.size];
        [item setMaxSize:cellFrame.size];       
    }

    return [item autorelease];
}
1 голос
/ 26 июля 2011

Попробуйте установить для searchMenuCell значение editable.

...