このコードと同じくらい簡単です:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
// Inizializzazione barra di navigazione
[[self navigationController] setNavigationBarHidden:NO];
UINavigationItem* a = [self navigationItem];
[a setTitle:@"SOME TITLE"];
UIImage *background = [UIImage imageNamed:@"header.png"];
CGSize newSize;
newSize.height=100;
[self.navigationController.navigationBar setBackgroundImage:background
forBarMetrics:UIBarMetricsDefault];
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc]
initWithTitle:@"Homefgh"
style:UIBarButtonItemStyleBordered
target:self action:@selector(home)];
self.navigationController.navigationItem.rightBarButtonItem = rightButton;
}
ただし、ボタンは表示されません (右側)。コードをviewDidLoadにも入れようとしました。viewWillAppear は、メインの UINavigationController の上にプッシュされた UIView 内にあります。奇妙なことに、背景画像が正しく表示されます。