views:

88

answers:

1

Hi.

i have one tab bar controller with 4 navigation controller connection 4 tab bar items.

I made the following changes in the following controllers

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}
  1. All view controllers.
  2. All navigation controllers.
  3. 1 tabbar controller.

What else should be done to fix this ?

[reposting again !]

+1  A: 

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:

  1. All your view controllers
  2. 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.

Can Berk Güder