Quiero dibujar varios botones en un UINavigationBar
. Estos estarán en el lado derecho o izquierdo.¿Cómo agregar varios UIBarButtonItems a una NavigationBar?
Respuesta
Hice un ejemplo en el que tenía dos botones (es decir, Editar y +) en el lado derecho de NaviagationBar.
1) Tienes que crear una NSMutableArray
("botones" es decir, en el ejemplo) y añadir UIBarButtonItem
(es decir bi1 y bi2 en el ejemplo) a los botones (es decir NSMutableArray
).
2) Agregue NSMutableArray
(es decir, botones en el ejemplo) a la barra de herramientas (es decir, UIToolbar *tools
en el ejemplo).
3) Agregue la barra de herramientas a NavigationBar.
NSMutableArray *buttons = [[NSMutableArray alloc] initWithCapacity:2];
UIToolbar *tools = [[UIToolbar alloc]
initWithFrame:CGRectMake(0.0f, 0.0f, 90.0f, 55.01f)];
// Add bar button1.
UIBarButtonItem *bi1 = [[UIBarButtonItem alloc] initWithTitle:@"Edit" style:UIBarButtonItemStylePlain target:self action:@selector(Edit:)];
bi1.style = UIBarButtonItemStyleBordered;
bi1.width = 45;
[buttons addObject:bi1];
//[bi1 release]; Do not release if ARC enabled.
// Add bar button2.
UIBarButtonItem *bi2 = [[UIBarButtonItem alloc] initWithTitle:@"+" style:UIBarButtonItemStylePlain target:self action:@selector(Add:)];
bi2.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi2];
//[bi2 release]; Do not release if ARC enabled.
// Add buttons to toolbar and toolbar to nav bar.
[tools setItems:buttons animated:NO];
//[buttons release]; Do not release if ARC enabled.
// Add toolbar to nav bar.
UIBarButtonItem *twoButtons = [[UIBarButtonItem alloc] initWithCustomView:tools];
[tools release];
self.navigationItem.rightBarButtonItem = twoButtons;
//[twoButtons release]; Do not release if ARC enabled.
lo hacen en su archivo xib y crea propiedades o sólo las variables en la cabecera
@property (nonatomic, retain) IBOutlet UIBarButtonItem *itemOne;
y luego conectarlo en el XI ter. Disfrute
Cree una nueva UIToolbar en el código y agregue sus botones a la barra de herramientas. A continuación, establezca self.navigationItem.rightBarButton a su barra de herramientas de nueva creación (obsérvese el ejemplo es sin ARC por lo que puede que tenga que eliminar para liberar las llamadas):
// create a toolbar to have two buttons in the right
UIToolbar* tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 100, 44.01)];
// create the array to hold the buttons, which then gets added to the toolbar
NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:3];
// create a standard "add" button
UIBarButtonItem* bi = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addRow)];
bi.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi];
[bi release];
// create a spacer
bi = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
[buttons addObject:bi];
[bi release];
[buttons addObject:self.editButtonItem];
// stick the buttons in the toolbar
[tools setItems:buttons animated:NO];
[buttons release];
// and put the toolbar in the nav bar
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:tools];
Aquí os estoy dando código de ejemplo que he utilizado para el botón así como la etiqueta. puede crear un botón en lugar de una etiqueta e imagen de lo que creé. Espero que le ayudará a
- (void) setLabelForPotraite {
bar = [self.navigationController navigationBar];
[bar setBackgroundColor:[UIColor clearColor]];
barImg=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"navImg.png"]];
[bar addSubview:barImg];
tick_img_lbl=[[UIImageView alloc]initWithFrame:CGRectMake(86, 6,34, 33)];
tick_img_lbl.image=[UIImage imageNamed:@"tick-1.png"];
[bar addSubview:tick_img_lbl];
[tick_img_lbl release];
tickCount_lbl=[[UILabel alloc] initWithFrame:CGRectMake(126, 2, 50, 40)];
[email protected]"";
tickCount_lbl.font=[UIFont fontWithName:@"Arial" size:24.0];
[tickCount_lbl setTextAlignment:UITextAlignmentCenter];
tickCount_lbl.font = [UIFont boldSystemFontOfSize:24.0];
tickCount_lbl.textColor=[UIColor whiteColor];
tickCount_lbl.backgroundColor=[UIColor clearColor];
[bar addSubview:tickCount_lbl];
[tickCount_lbl release];
cross_img_lbl=[[UIImageView alloc]initWithFrame:CGRectMake(181, 6, 34, 33)];
cross_img_lbl.image=[UIImage imageNamed:@"x_green.png"];
[bar addSubview:cross_img_lbl];
[cross_img_lbl release];
crossCount_lbl=[[UILabel alloc] initWithFrame:CGRectMake(221, 2, 50, 40)];
[email protected]"";
crossCount_lbl.font=[UIFont fontWithName:@"Arial" size:24.0];
crossCount_lbl.font = [UIFont boldSystemFontOfSize:24.0];
crossCount_lbl.textColor=[UIColor whiteColor];
[crossCount_lbl setTextAlignment:UITextAlignmentCenter];
crossCount_lbl.backgroundColor=[UIColor clearColor];
[bar addSubview:crossCount_lbl];
[crossCount_lbl release];
master_img_lbl=[[UIImageView alloc]initWithFrame:CGRectMake(269, 6, 34, 33)];
master_img_lbl.image=[UIImage imageNamed:@"thumb.png"];
[bar addSubview:master_img_lbl];
[master_img_lbl release];
}
Si cualquier problema en la comprensión o más, entonces PLZ me informan.
- 1. ¿Cómo puedo agregar dos UIBarButtonItems a UINavigationItem?
- 2. Problema al agregar UIBarButtonItems a una barra de herramientas
- 3. ¿Cómo agregar varios botones a una barra de navegación?
- 4. uibarbuttonitems Hacer desaparecer
- 5. Multiple UIBarButtonItems en UINavigationBar
- 6. iPhone - navigationbar Fondo personalizado
- 7. navigationbar (color de fondo)
- 8. Ocultar UIToolbar UIBarButtonItems
- 9. ConcurrentBag - Agregar varios artículos?
- 10. ¿Cómo puedo agregar varios informes juntos?
- 11. NavigationBar List Navigation Fragments Overlapping
- 12. en navigationbar en iPhone SDK
- 13. ¿Agregar varios campos a Java 5 HashSet a la vez?
- 14. iPhone: NavigationController NavigationBar Texto del botón Atrás
- 15. Agregar varios iconos (Win32-Resource) a .NET-Application
- 16. Cambiar la animación de UINavigationController NavigationBar
- 17. MvcScaffolding: ¿Cómo apoyar a varios a varios entre entidades
- 18. Agregar referencias de servicio WCF a varios proyectos
- 19. ¿No se puede agregar un componente Swing a varios contenedores?
- 20. centro de un botón en un navigationbar
- 21. Agregar varios puntos a Google Map con Javascript v3 API
- 22. LINQ varios a varios intersección
- 23. Agregar a una ICollection
- 24. ¿Cómo establecer la apariencia de un UIButton sin afectar a UIBarButtonItems?
- 25. Cómo agregar varios archivos jar en classpath en Linux
- 26. Agregar varios botones a una vista mediante programación, llamar al mismo método, determinar qué botón era
- 27. ¿Cómo puedo agregar metadatos a una imagen?
- 28. Cómo agregar una referencia a System.Numerics.dll
- 29. Cómo agregar una ruta a LDFLAGS
- 30. Cómo agregar una columna adicional a Fiddler