CustomNavigation.h
#import <Foundation/Foundation.h>
@interface UINavigationBar (UINavigationBarCustomDraw){
}
@end
CustomNavigation.m
@implementation UINavigationBar (UINavigationBarCustomDraw)
- (void) drawRect:(CGRect)rect {
[self setTintColor:[UIColor colorWithRed:0.5f
green: 0.5f
blue:0
alpha:1]];
if ([self.topItem.title length] > 0) {
if ([self.topItem.title isEqualToString:@"First"]) {
[[UIImage imageNamed:@"First.png"] drawInRect:rect];
}
else if ([self.topItem.title isEqualToString:@"Second"]) {
[[UIImage imageNamed:@"Second.png"] drawInRect:rect];
}
CGRect frame = CGRectMake(0, 0, 320, 44);
UILabel *label = [[[UILabel alloc] initWithFrame:frame] autorelease];
[label setBackgroundColor:[UIColor clearColor]];
label.font = [UIFont boldSystemFontOfSize: 20.0];
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:1];
label.textAlignment = UITextAlignmentCenter;
label.textColor = [UIColor whiteColor];
label.text = self.topItem.title;
self.topItem.titleView = label;
}
else {
[[UIImage imageNamed:@"wood.png"] drawInRect:rect];
self.topItem.titleView = [[[UIView alloc] init] autorelease];
}
}
@end
, если вы хотите First.png для установки фонового изображения navigationBar в FirstViewController, тогда
в урFirstViewController.m
-(void) viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.title=@"First";
[self.navigationController.navigationBar drawRect:CGRectMake(0, 0, 320, 480)];
}
, если вы хотите Second.png установить фоновое изображение navigationBar в SecondViewController, тогда
в вашем SecondViewController.m
-(void) viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.title=@"Second";
[self.navigationController.navigationBar drawRect:CGRectMake(0, 0, 320, 480)];
}