iOS: barra de herramientas
Uso de la barra de herramientas
Si queremos manipular algo basado en nuestra vista actual, podemos usar la barra de herramientas.
Un ejemplo sería la aplicación de correo electrónico con un elemento de la bandeja de entrada que tiene opciones para eliminar, hacer favorito, responder, etc. Se muestra a continuación.
Propiedades Importantes
- barStyle
- items
Agregar un método personalizado addToolbar
-(void)addToolbar {
UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil action:nil];
UIBarButtonItem *customItem1 = [[UIBarButtonItem alloc]
initWithTitle:@"Tool1" style:UIBarButtonItemStyleBordered
target:self action:@selector(toolBarItem1:)];
UIBarButtonItem *customItem2 = [[UIBarButtonItem alloc]
initWithTitle:@"Tool2" style:UIBarButtonItemStyleDone
target:self action:@selector(toolBarItem2:)];
NSArray *toolbarItems = [NSArray arrayWithObjects:
customItem1,spaceItem, customItem2, nil];
UIToolbar *toolbar = [[UIToolbar alloc]initWithFrame:
CGRectMake(0, 366+54, 320, 50)];
[toolbar setBarStyle:UIBarStyleBlackOpaque];
[self.view addSubview:toolbar];
[toolbar setItems:toolbarItems];
}
Para conocer la acción realizada, agregamos un UILabel en nuestro ViewController.xib y crea un IBoutlet para el UILabel y nómbrelo como label.
También necesitamos agregar dos métodos para ejecutar acciones para los elementos de la barra de herramientas como se muestra a continuación.
-(IBAction)toolBarItem1:(id)sender {
[label setText:@"Tool 1 Selected"];
}
-(IBAction)toolBarItem2:(id)sender {
[label setText:@"Tool 2 Selected"];
}
Actualice viewDidLoad en ViewController.m de la siguiente manera:
- (void)viewDidLoad {
[super viewDidLoad];
// The method hideStatusbar called after 2 seconds
[self addToolbar];
// Do any additional setup after loading the view, typically from a nib.
}
Salida
Cuando ejecutamos la aplicación, obtendremos el siguiente resultado:
Haga clic en los botones de la barra tool1 y tool2 y obtenemos lo siguiente: