2011-07-23 18 views
19

tengo una barra de herramientas que tiene el siguiente aspecto:Añadir espaciamiento entre UIToolbar

enter image description here

La cuestión es que es una especie de desordenado y por lo tanto me gustaría añadir un poco de distancia de ella. Intenté hacer:

UIBarButtonItem *spacer = 
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
               target:nil 
               action:nil]; 

self.toolbar_array = 
[[NSMutableArray alloc] initWithObjects:self.mention, 
             spacer, 
             self.picture, 
             spacer, 
             share, 
             spacer, 
             self.message, nil]; 

Pero todavía me da lo mismo. ¿Cómo puedo agregar un 10px entre estos UIBarButtonItems?

Respuesta

43
UIBarButtonItem *fixedSpace = 
    [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace 
               target:nil 
               action:nil]; 
fixedSpace.width = 10; 
2

Utilizo este código para generar UIBarButtonItems, es un archivo de cabecera que importo si es necesario.

static inline UIBarButtonItem *BarButtonWithText(NSString *text, 
               id target, 
               SEL action) { 
    NSString *localizedText = NSLocalizedString(text, nil); 
    return [[[UIBarButtonItem alloc] initWithTitle:localizedText 
              style:UIBarButtonItemStyleBordered 
              target:target 
              action:action] autorelease]; 
} 

static inline UIBarButtonItem *BarButtonWithImage(NSString *imageName, 
                id target, 
                SEL action) { 
    UIImage *image = [UIImage imageNamed:imageName]; 
    return [[[UIBarButtonItem alloc] initWithImage:image 
              style:UIBarButtonItemStylePlain 
              target:target 
              action:action] autorelease]; 
} 

static inline UIBarButtonItem *BarButtonWithSystemStyle(UIBarButtonSystemItem style, 
         id target, 
         SEL action) { 
    return [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:style 
                  target:target 
                  action:action] autorelease]; 
} 

static inline UIBarButtonItem *BarButtonWithFlexibleWidth(id target, SEL action) { 
    return [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
                  target:target 
                  action:action] autorelease]; 
} 

static inline UIBarButtonItem *BarButtonWithFixedWidth(CGFloat width, 
                 id target, 
                 SEL action) { 
    UIBarButtonItem *button = 
     [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace 
                target:target 
                action:action]; 
    button.width = width; 
    return [button autorelease]; 
} 
1

Necesita agregar espacio entre los elementos que está buscando. esto se puede hacer por ..

UIBarButtonItem *fixedSpace = 
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace 
               target:nil 
               action:nil]; 
fixedSpace.width = 10; 

esperanza que esto ayudará a u.