Question

My view hierarchy looks like this:

tab bar -> navigation bar -> table view -> view 1 -> view 2 (UIWebView)

How can I rotate view 2 so it can be displayed in both landscape & portrait mode?

Was it helpful?

Solution

Heres your fix...just solved the same problem. The issue is the tab bar controller is responding no to the shouldRotate method.

Ignore the advice in the apple docs and create a subclass for tab view controller. In that subclass handle the shouldRotate

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Always returning YES means the view will rotate to accomodate any orientation. return YES; }

Heres my complete subclass TSTabBarController.h

#import <Foundation/Foundation.h>
@interface TSTabBarController : UITabBarController {

}

@end

and the implementation file.

#import "TSTabBarController.h"


@implementation TSTabBarController
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Always returning YES means the view will rotate to accomodate any orientation.
    return YES;
}


@end

If you change the class in IB for the tab bar controller you should just work.

Hope this helps.
Rich

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top