iOS: Posicionando botões da barra de navegação na barra de navegação personalizada
Estou criando um aplicativo com uma barra de navegação personalizada. Após algumas pesquisas, decidi fazer isso usando uma categoria no UINavigationBar. A barra de navegação precisa ser um pouco maior que o normal para acomodar uma sombra projetada. Aqui está o código:
#import "UINavigationBar+CustomWithShadow.h"
@implementation UINavigationBar (CustomWithShadow)
- (void)drawRect:(CGRect)rect {
// Change the tint color in order to change color of buttons
UIColor *color = [UIColor colorWithHue:0.0 saturation:0.0 brightness:0.0 alpha:0.0];
self.tintColor = color;
// Add a custom background image to the navigation bar
UIImage *image = [UIImage imageNamed:@"NavBar.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, 60)];
}
- (void)layoutSubviews {
self.frame = CGRectMake(0, 20, self.frame.size.width, 60);
}
@end
O único problema agora é que a barra de navegação maior significa que os botões da barra de navegação acabam muito abaixo, assim:
lguém sabe como posso corrigir a posição dos botõe
Obrigado por toda a ajuda!
Atualizar
Adicionei os botões à barra de navegação no método init do controlador de exibição da seguinte maneira:
// Create "Add" button for the nav bar
UIBarButtonItem *addButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
target:self
action:@selector(createNewEntry:)];
[[self navigationItem] setRightBarButtonItem:addButton];
[addButton release];