tabBarベースのアプリで、UINavigationBarをサブクラス化しました。BlueNavBar、BlackNavBar、RedNavBarの3つがあるとしましょう。これは次のようになります。
//BlueNavBar.m
- (void)drawRect:(CGRect)rect {
self.tintColor = [UIColor colorWithRed:65.0f/255.0f green:(156.0f/255.0f) blue:(215.0f/255.0f) alpha:1.0];
UIImage *image = [[UIImage imageNamed:@"blueNavBar.png"]retain];
[image drawInRect:rect];
[image release];
}
Interface Builderを使用して、タブごとにサブクラス化されたナビゲーションバーを割り当てました。それはうまく機能していて、問題はありません。
ただし、一部のviewControllerでは、「pushViewController」中にナビゲーションバーを変更したいと思います。現在のナビゲーションバー(BlueNavBarなど)をRedNavBarに変更したいとします。Interface Builderを使わずに、これをプログラムで行うにはどうすればよいですか?