iOS - Barra de Ferramentas

Uso da barra de ferramentas

Se quisermos manipular algo com base em nossa visão atual, podemos usar a barra de ferramentas.

Um exemplo seria o aplicativo de e-mail com um item da caixa de entrada com opções para excluir, tornar favorito, responder e assim por diante. É mostrado abaixo.

Propriedades Importantes

  • barStyle
  • items

Adicionar um 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 saber a ação realizada, adicionamos um UILabel na nossa ViewController.xib e criar um IBoutlet para o UILabel e nomeie-o como label.

Também precisamos adicionar dois métodos para executar ações para itens da barra de ferramentas, conforme mostrado abaixo.

-(IBAction)toolBarItem1:(id)sender {
   [label setText:@"Tool 1 Selected"];
}

-(IBAction)toolBarItem2:(id)sender {
   [label setText:@"Tool 2 Selected"];
}

Atualize viewDidLoad em ViewController.m da seguinte forma -

- (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.
}

Resultado

Quando executarmos o aplicativo, obteremos a seguinte saída -

Clique nos botões da barra de ferramentas 1 e 2 e obtemos o seguinte -