Mehrere Elemente der Symbolleiste in einer einzelnen Zeile
-
10-10-2019 - |
Frage
Ich möchte nur mehrere Elemente der Symbolleiste in einer einzigen Zeile erstellen hier, was ich tat ...
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];
}
aber es ist nicht alles, was in Symbolleiste zeigt ...... Anregungen ...?
Lösung
Was ist die zweite for-Schleife für?
Sie haben bereits eine Reihe von Elementen (barButtonArray).
Ersetzen Sie die zweite for-Schleife mit diesem:
[toolbar setItems:barButtonArray animated:NO];
Andere Tipps
In Ihrem letzten for-Schleife Sie erneut deklariert Array Items und Aufruf [Symbolleiste setItems:] über und über. Genau dies tun:
[toolbar setItems:barButtonItems animated:NO];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow