Respuesta

0

como la documentación que UINavigationItem1 describe, tiene una propiedad rightBarButtonItems (así como leftBarButtonItems) donde se puede dar una variedad de UIBarButtons. Se muestran desde la derecha (índice 0) a la izquierda (índice n-1).

+0

He especificado claramente que mi aplicación apunta a IOS 4. self.navigationItem.rightBarButtonItems está trabajando desde IOS 5 en adelante – Raj

+0

@ user1626799: IOS5 apareció en marzo de 2012. 'rightBarButtonItems'existió desde octubre de 2011 (al menos, si la revisión docu es correcto) – Matthias

+0

@Matthais: Lo he probado y no funciona en IOS 4. Por lo que sé, no funciona en IOS 4. U también puede seguir el comentario a continuación por BornCoder – Raj

0

Si su aplicación se dirige a iOS 4 y superior, entonces debe tomar UISegmentControl y tener dos segmentos en él. El valor de captura cambió el evento de acción y verifica qué segmento se selecciona y opera en consecuencia.

También puede establecer imágenes en segmentos para que se vean y se sientan mejor.

+0

? Puede dar un ejemplo – Raj

0

@Matthias, como se indica en la documentación, rightBarButtonItems propiedad está disponible a partir de iOS 5 o superior y esta función debe ser apoyado también en iOS 4.

Por lo tanto, es UISegmentControl mejor manera de lograr esto.

+0

¿podría darme un ejemplo de cómo usarlo? UISegmentControl para lograr mi tarea. – Raj

14

Este código va a hacer el truco para ti,

NSArray *tempArray2= [[NSArray alloc] initWithObjects:self.addButton,self.sortbyButton,nil]; 
self.navigationItem.rightBarButtonItems=tempArray2; 

donde addButton y SortByButton son 2 artículos BarButton separados

+0

self.navigationItem.rightBarButtonItems funciona desde iOS 5 en adelante. No va a funcionar para iOS 4. Mi aplicación apunta a IOS 4 – Raj

0
NSArray *segmentTextContent = [NSArray arrayWithObjects: 
           NSLocalizedString(@\"Group By\", @\"\"), 
           NSLocalizedString(@\"Filter By\", @\"\"), 
           nil]; 
UISegmentedcontrol *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentTextContent]; 
segmentedControl.selectedSegmentIndex = 0; 
segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 
segmentedControl.frame = CGRectMake(0, 0, 125, 30); 
[segmentedControl addTarget:self action:@selector(toggleUnit) forControlEvents:UIControlEventValueChanged]; 

segmentedControl.tintColor = [UIColor lightGrayColor]; 
defaultTintColor = [segmentedControl.tintColor retain]; 

self.navigationItem.rightBarButtonItem = segmentedControl; 
[segmentedControl release]; 

+0

He logrado mi tarea utilizando la barra de herramientas, en lugar del control segmentado – Raj

+0

Quiere decir que reemplazó toda la barra de navegación con la barra de herramientas. ¿Lo es? O agregaste la barra de herramientas a UINavigationBar? – BornCoder

+0

Agregué la barra de herramientas a la barra de navegación – Raj

2

sé que es demasiado tarde, pero me enfrenté recientemente. Así que aquí está lo que hice Cree un UIView en el código y agregue los botones como subvistas en esta vista. Crear una ToolbarButton usando [[UIBarButtonItem alloc] initWithCustomView: Botones]

asignar este botón de la barra de herramientas como la izquierda o la derecha barbuttonItem como deseo de u.

Cuestiones relacionadas