2012-02-09 22 views

Respuesta

6

Usted puede agregar un elemento UIBarButtonSystemItemFlexibleSpace entre los dos botones.

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
                     target:nil 
                     action:nil]; 
+0

gracias, funciona. pero ¿cómo especifico el ancho? – atnatn

+3

supongo que debería usar 'UIBarButtonSystemItemFixedSpace': D – atnatn

+0

@atnatn Quizás' item.width' funciona, no lo he probado. – fannheyward

1

yo no era capaz de conseguir el espacio flexible para trabajar en mi situación, pero aquí está el código que solía ser capaz de posicionar el rightBarButtonItem: Nota, puse un borde alrededor del UIView para que pueda ver lo parece que con tener la imagen allí.

UIView *containerView = [[UIView alloc] initWithFrame:CGRectMake(89,40,100,30)]; 
containerView.layer.borderColor = [[UIColor redColor] CGColor]; 
containerView.layer.borderWidth = 1.0; 
UIImage *image = [UIImage imageNamed:@"nav-icon.png"]; 
UIButton *navigationButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
[navigationButton setFrame:CGRectMake(67,0,25,25)]; 
[navigationButton setImage:image forState:UIControlStateNormal]; 
[containerView addSubview:navigationButton]; 

UIBarButtonItem *navigationBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:containerView]; 

self.navigationItem.rightBarButtonItem = navigationBarButtonItem;