iOS: Posicionar botones de la barra de navegación dentro de la barra de navegación personalizada
Estoy creando una aplicación con una barra de navegación personalizada. Después de algunas investigaciones, decidí hacer esto usando una categoría en UINavigationBar. La barra de navegación debe ser un poco más grande de lo habitual para acomodar una sombra paralela. Aquí está el 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
El único problema ahora es que la barra de navegación más grande significa que los botones de la barra de navegación terminan demasiado abajo, así:
Alguien sabe cómo puedo corregir la posición de los botones?
¡Gracias por toda la ayuda!
Actualizar
Agrego los botones a la barra de navegación en el método init del controlador de vista de la siguiente manera:
// Create "Add" button for the nav bar
UIBarButtonItem *addButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
target:self
action:@selector(createNewEntry:)];
[[self navigationItem] setRightBarButtonItem:addButton];
[addButton release];