Y a-t-il un moyen d'avoir les Uibarbuttonitems dans une barre d'outils de la barre d'outils uniformément? P>
3 Réponses :
Drop d'un bouton de barre d'espace flexible entre vos uibarbuttonitems. Ceci est assez facile à faire dans IB, regardez le bas des commandes.
Si vous voulez faire cela de manière programmée, ce code devrait aider: P>
UIBarButtonItem* button1 = [[UIBarButtonItem alloc] initWithTitle:@"Button1" style:UIBarButtonItemStyleBordered target:self action:@selector(button1Action)]; UIBarButtonItem* button2 = [[UIBarButtonItem alloc] initWithTitle:@"Button2" style:UIBarButtonItemStyleBordered target:self action:@selector(button2Action)]; UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; [myToolbar setItems:[NSArray arrayWithObjects:button1, flexibleSpace, button2, nil]];
Gardez également à l'esprit que vous pouvez également utiliser un espace fixe et définir la largeur explicitement si les choses n'allent pas l'alignement de la façon dont vous le souhaitez.
De plus, si vous souhaitez insérer une vue personnalisée comme un curseur ou une barre de recherche, vous pouvez l'encadrer et le redimensionner en référençant les limites des éléments d'espace flexibles.
yup. Créez un uibarbuttonitem code> avec le
-Initwithbarbuttonsystemitem: code> à l'aide de
UIBARBUTONSystemitemFlexiBleSespace code> et insérez-le entre chacun de vos éléments de la barre d'outils. E.g.:
UIBarButtonItem *flexSpace = [[UIBarButton alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace];
myToolbar.items = [NSArray arrayWithObjects:buttonOne,flexSpace,buttonTwo,flexSpace,buttonThree,nil];
[flexSpace release];
ignorer la largeur de l'uibarbuttonitem suggestion; Ce n'est pas la bonne approche comme recommandé par Apple et ne fonctionnera pas si vous souhaitez ajouter d'autres icônes. p>
L'approche correcte consiste à ajouter un "espace flexible" (techniquement un autre bouton!) Entre chaque bouton. Vous le voyez dans l'interface Builder ou peut être ajouté directement en code si nécessaire. p>