you can override the default header view when loading the controller with a custom UIView, e.g. UIButton:
/////////////////////////////////////////////////////////////////////////////////////////////////// - (void)viewDidLoad { [super viewDidLoad]; UIButton *logoView = [[[UIButton alloc] initWithFrame:CGRectMake(0,0,85,40)] autorelease]; [logoView setBackgroundImage:[UIImage imageNamed:@"navBarLogo.png"] forState:UIControlStateNormal]; [logoView setUserInteractionEnabled:NO]; self.navigationItem.titleView = logoView; }
I'm actually not sure why I used UIButton here :-) maybe you can use UIImageView instead, but this code works fine.
source share