OK, seeing your question remains unanswered after a day, I'll try to answer it even though you haven't really explained what the problem is.
To provide auto-rotation in a tab bar application, you need to implement shouldAutorotateToInterfaceOrientation:
in:
- All your view controllers
- Your tab bar controller
You don't need to subclass UINavigationController
, just UITabBarController
.
After you've subclassed UITabBarController
, make sure you set the class of your tab bar controller instance to your subclass in Interface Builder.
Also, the proper implementation of shouldAutorotateToInterfaceOrientation:
for an iPhone application is:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown;
}
so that the user can "lock" the orientation to landscape by turning the phone upside down.