you should never change navigation bar frame.Instead hide the navigation bar ,and create your custom view and add it to top of self.view.
self.navigationController.navigationBarHidden =YES;
self.view.frame = CGRectMake(0, 0, 320, 568);;
// v is our total 88px height navigation bar
v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 88)];
UIImageView *img = [[UIImageView alloc] initWithFrame:CGRectMake(33, 5, 255, 29)];
[img setImage:[UIImage imageNamed:@"top-logo"]];
[v addSubview:img];
UIView *navigationBar = //create nav bar with buttons of height 44px
[v addSubview:navigationBar];
[self.view addSubview:v];