在基于 tabBar 的应用程序中,我对 UINavigationBar 进行了子类化。假设我有三个:BlueNavBar、BlackNavBar 和 RedNavBar。它看起来像这样:
//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 为每个选项卡分配了子类导航栏。效果很好,那里没有问题。
但是,在某些视图控制器中,我想在“pushViewController”期间更改导航栏。假设我想将当前导航栏(例如 BlueNavBar)更改为 RedNavBar。如果没有 Interface Builder,我如何以编程方式执行此操作?