2010-03-09 40 views
7

Ok, así que he añadido con éxito un rightBarButtonItem para llamar a un selector personalizado (llamado desde un UIViewController), de la siguiente manera:¿Cómo agregar varios botones a una barra de navegación?

UIButton* infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight]; 

[infoButton addTarget:self action:@selector(showInfoView:) forControlEvents:UIControlEventTouchUpInside]; 

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:infoButton]; 

¿Es posible hacer que el "elemento botón de barra de la derecha" en realidad sea distinta varios botones (y así eliminar el texto del título de la barra de navegación)?

Estoy buscando maneras de obtener más espacio en pantalla, y esta parece ser una opción lógica ... aunque se apreciarían otras sugerencias (tal vez debería reducir el tamaño de la barra de pestañas que uso en la parte inferior ...)

Respuesta

0

Bueno, podría usar un UISegmentedControl con el estilo de barra. O puede agregar un genérico UIView y agregar los botones que desee.

+1

@Matt es el control UISegmented correcto no es para ese propósito y debe leer las Pautas de referencia de UIDesign de Apple First. Gracias –

+0

Para ser justos, su referencia de diseño fue diferente cuando se publicó esta respuesta. –

21
UIBarButtonItem *addAcc = [[UIBarButtonItem alloc] 
           initWithTitle:@"Add"            
           style:UIBarButtonItemStylePlain 
           target:self 
           action:@selector(addNewAcc)]; 

UIBarButtonItem *delAcc = [[UIBarButtonItem alloc] 
      initWithTitle:@"Del"            
      style:UIBarButtonItemStylePlain 
      target:self 
      action:@selector(DeleteButtonAction)]; 

NSArray *arrBtns = [[NSArray alloc]initWithObjects:addAcc,delAcc, nil]; 
self.navigationItem.rightBarButtonItems = arrBtns; 
+1

Eso genera una advertencia ... conversión de puntero incompatible asignando UIBarButtonItem * desde un NSArray * _strong .. –

+3

@JayprakashDubey, asumo que accidentalmente dejó la 's' fuera de '.rightBarButtonItems' en la última línea que genera su error . Espero que lo hagas funcionar de todos modos! –

Cuestiones relacionadas