Несколько элементов панели инструментов в одном ряду
-
10-10-2019 - |
Вопрос
Я просто хочу создать несколько элементов панели инструментов в одну строку здесь, что я сделал ...
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];
}
Но это ничего не показывает на панели инструментов ...... какие -либо предложения ...?
Решение
Для чего второй для петли?
У вас уже есть множество предметов (Barbuttonarray).
Замените второй для петли на это:
[toolbar setItems:barButtonArray animated:NO];
Другие советы
В своем последнем для цикла вы переоборудоруете массив элементов и вызовут [Панель инструментов SetiTems:] снова и снова. Просто сделай это:
[toolbar setItems:barButtonItems animated:NO];
Не связан с StackOverflow