A: 

Maybe you have somehow gotten yourself two UIViews, each with a status bar. Check the xib.

Rhythmic Fistman
A: 

I've fudged a solution that sees me setting the views frame to a size that compensates for the white bar. There's obviously something wrong but this sorts the issue for me.

myView.bounds = CGRectMake(0,0,320,500);

Any further comment would be very much appreciated.

andrewdotcom
+2  A: 

What does the line

UIView *finalView = myeNavigationViewController.view;

add to the code? It's redundant as you can add the view directly without assigning it to a UIView first - plus it's incorrect as it references the myNavigationController and not navigationController..
I tend to do this

myViewController *viewController = [[myViewController alloc] initWithNibName:@"myView" bundle:nil];    
myNavigationViewController *navigationController = [[myNavigationViewController alloc] initWithRootViewController:viewController];
[navigationController.view setFrame: [self.view bounds]];
navigationController.delegate = self;
[self.view addSubview:[navigationController view]];

Setting the frame to the bounds also removes the white space at the top you were asking about.

Craig
+3  A: 

Check out the answers in this question:

http://stackoverflow.com/questions/1054539/not-sure-why-uiview-is-being-nudged-up-by-around-10px

mac_55
+1  A: 

The issue is that UINavigationController ideally should be the direct subView of UIWindow. It will position and size right by itself. When you add UINavigationController into another custom view of a UIWindow subview, you need to take care of the position and size of this custom view by taking into account whether the status bar is shown or not in the UIWindow.

My suggestion is to make the custom view as a subclass of UINavigationController:

mySubClass_NavigationController*nav=[[mySubClass_NavigationController alloc] initWithRootViewController:viewController ];

[myUIWindow addSubview:nav.view];

and inside the mySubClass_NavigationController, you can do all the customization that you are doing now in your self (whatever that controller is).

Wayne Lo