Несколько элементов панели инструментов в одной строке - PullRequest
0 голосов
/ 15 декабря 2010

Я просто хочу создать несколько элементов панели инструментов в одной строке, вот что я сделал ...

NSMutableArray *barButtonArray = [[NSMutableArray alloc] init];
for (int i=0; i<[[State getSubCategoryids] count]; i++) {

    NSString *nameString = [NSString stringWithFormat:@"%@",[[State getSubCategoryNames] objectAtIndex:i]];
    NSLog(@"nameString: %@", nameString);
    UIBarButtonItem *customBarButton = [[UIBarButtonItem alloc] initWithTitle:nameString style:UIBarButtonItemStyleBordered target:nil action:@selector(productImages)];
    UIBarButtonItem *flexItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
                                                                              target:nil
                                                                              action:nil];
    [barButtonArray addObject:customBarButton];
    [barButtonArray addObject:flexItem];

    [flexItem release];
    [customBarButton release];


}




for (int i = 0; i<[barButtonArray count]; i++) {
    NSLog(@"barbutton items for loop");
    NSArray *items = [NSArray arrayWithObjects:[barButtonArray objectAtIndex:i],nil];
    NSLog(@"items: %@", items);
    [toolbar setItems:items animated:NO];
}

, но на панели инструментов ничего не отображается ...... любые предложения ...

Ответы [ 2 ]

0 голосов
/ 15 декабря 2010

Зачем нужен второй цикл for?
У вас уже есть массив элементов (barButtonArray).
Замените второй цикл for следующим:

[toolbar setItems:barButtonArray animated:NO];
0 голосов
/ 15 декабря 2010

В последнем цикле for вы переделываете массив элементов и снова и снова вызываете [toolbar setItems:].Просто сделайте это:

[toolbar setItems:barButtonItems animated:NO];
...