J'ai trois UIBarButtonItem
créés comme ci-dessous. Ils s'alignent à gauche et j'aimerais aligner le centre pour qu'il n'y ait pas d'espace sur le côté droit. Je ne vois pas de propriété align sur UIToolBar
. Existe-t-il un autre moyen d'y parvenir?
//create some buttons
UIBarButtonItem *aboutButton = [[UIBarButtonItem alloc] initWithTitle:@"About" style:UIBarButtonItemStyleBordered target:self action:@selector(showAbout:)];
[toolbar setItems:[NSArray arrayWithObjects:settingsButton,deleteButton,aboutButton,nil]];
//Add the toolbar as a subview to the navigation controller.
[self.navigationController.view addSubview:toolbar];
Ajoutez deux éléments UIBarButtonSystemItemFlexibleSpace à votre barre d'outils, à gauche et à droite de vos éléments
UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
[toolbar setItems:[NSArray arrayWithObjects:flexibleSpace, settingsButton,deleteButton,aboutButton, flexibleSpace, nil]];
En les ajoutant comme vous le feriez pour tout autre élément de la barre d'outils, l'espace sera réparti également entre les deux.
Cela peut également être fait directement à partir d'un storyboard.
Faites simplement glisser et déposez les éléments dans la barre d'outils et transformez certains d'entre eux en espace flexible ou fixe pour obtenir l'effet souhaité. Voir les deux exemples ci-dessous.
Dans Xamarin iOS
Aligné à droite:
yourBar.SetItems(new [] { new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), yourButton }, false);
Centre aligné:
var flexibleSpace = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace);
yourBar.SetItems(new [] { flexibleSpace, yourButton, flexibleSpace}, false);
version Swift:
let toolbar = UIToolbar(frame: CGRectMake(0, 0, viewController.view.frame.size.width, 35.0))
let flexibleSpace = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: viewController, action: nil)
let button1 = UIBarButtonItem(title: "A", style: UIBarButtonItemStyle.Plain, target: viewController, action: foo)
let button2 = UIBarButtonItem(title: "B", style: UIBarButtonItemStyle.Plain, target: viewController, action: bar)
let button3 = UIBarButtonItem(title: "C", style: UIBarButtonItemStyle.Plain, target: viewController, action: blah)
toolbar.items = [button1, flexibleSpace, button2, flexibleSpace, button3]