В моем приложении на основе 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. Это отлично работает, никаких проблем нет.
В некоторых viewController, однако, я хочу изменить панель навигации во время «pushViewController». Допустим, я хочу изменить текущую панель навигации (например, BlueNavBar) на RedNavBar. Как я могу сделать это программно, без Interface Builder?