2010-05-10 14 views

Respuesta

18

Coloque un elemento de botón de barra espaciadora flexible entre sus elementos de UIBarButtonItems. Esto es bastante fácil de hacer en IB, mira hacia abajo en la parte inferior de los controles.

Si quieres hacer esto programtically, este código debe ayudar:

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]]; 
+0

¡Alku, ha cambiado su respuesta tres veces para agregar todos los bits que dicen los demás! No es genial – h4xxr

+1

Sí, me di cuenta, y lo siento. Leí mal la pregunta la primera vez, luego fui a editar mi respuesta y luego me di cuenta de que podía dar una mejor respuesta por tercera vez, ya que tenía un código disponible. Para el momento en que había hecho todo eso, ustedes habían venido y respondido mejor que mis respuestas originales. –

+0

Gracias, esta es una excelente respuesta, agradezco el esfuerzo que ha realizado para compilar la respuesta en un área. Eres un buen hombre. –

2

Sip. Cree un UIBarButtonItem con el método -initWithBarButtonSystemItem: utilizando UIBarButtonSystemItemFlexibleSpace, e inserte eso entre cada uno de los elementos de la barra de herramientas reales. P. ej .:

UIBarButtonItem *flexSpace = [[UIBarButton alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace]; 
myToolbar.items = [NSArray arrayWithObjects:buttonOne,flexSpace,buttonTwo,flexSpace,buttonThree,nil]; 
[flexSpace release]; 
4

Ignora el ancho en UIBarButtonItem sugerencia; este no es el enfoque correcto recomendado por Apple y no funcionará si desea agregar más íconos.

El enfoque correcto es agregar un "espacio flexible" (¡técnicamente otro botón!) Entre cada botón. Lo ve en Interface Builder, o puede agregarse directamente en el código si es necesario.

+0

técnicamente otro botón !!! saca el punto de eso – Anish

Cuestiones relacionadas