Я создаю приложение с настраиваемой панелью навигации. После некоторого исследования я решил сделать это, используя категорию на UINavigationBar. Панель навигации должна быть немного больше, чем обычно, чтобы на ней появлялась тень. Вот код:
#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
Единственная проблема теперь заключается в том, что большая панель навигации означает, что кнопки панели навигации оказываются слишком далеко вниз, например:
Кто-нибудь знает, как можно поправить положение кнопок?
Спасибо за помощь!
Обновление:
Я добавляю кнопки на панель навигации в методе инициализации контроллера представления следующим образом:
// Create "Add" button for the nav bar
UIBarButtonItem *addButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
target:self
action:@selector(createNewEntry:)];
[[self navigationItem] setRightBarButtonItem:addButton];
[addButton release];
UIBarButtonItem
на планку? И где? Я сделал небольшой тест, в котором я добавляю btns через NIB, и все вроде нормально. - person Valentin Radu   schedule 29.05.2011[[self navigationItem] setRightBarButtonItem:addButton];
. Как я могу добавить кнопки через NIB? - person Erik Frisk   schedule 29.05.2011