Plusieurs éléments de la barre d'outils dans une seule rangée
-
10-10-2019 - |
Question
Je veux juste créer plusieurs éléments de la barre d'outils en une seule rangée ici ce que je l'ai fait ...
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];
}
mais il ne montre rien dans la barre d'outils ...... suggestions ...?
La solution
Quelle est la seconde boucle for pour
Vous disposez déjà d'un tableau d'éléments (barButtonArray).
Remplacer la deuxième boucle for avec ceci:
[toolbar setItems:barButtonArray animated:NO];
Autres conseils
Dans votre dernière boucle vous redéclarant le tableau d'éléments et d'appeler [barre d'outils setItems:] à plusieurs reprises. Il suffit de faire ceci:
[toolbar setItems:barButtonItems animated:NO];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow