user250781
user250781

Reputation:

View controllers inside tab bar controller not auto-resizing on rotation

(Correction: the view controllers are not auto-resizing instead of not auto-rotating.)

In an iPad app, I have five regular view controllers (not navigation controllers or anything like that) inside a tab bar controller. The tab bar controller is just a plain UITabBarController declared in the app delegate.

All the view controllers return YES in the shouldAutorotateToInterfaceOrientation method.

On both the simulator and device, on rotation, the tab bar and the current view controller rotate but the currently selected view controller (call it A) does not resize properly. It keeps its portrait width and height (but it is rotated).

If I switch to another view controller B and then back to A (without rotating the device again), A appears correctly resized.

This happens with any of the five view controllers

Why doesn't the currently selected view controller resize immediately on rotation and how do I fix it?

Thanks.

Upvotes: 2

Views: 7338

Answers (1)

Joris
Joris

Reputation: 6296

You should add :

self.view.autoresizesSubviews = YES;
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

To each viewDidLoad method of the sub-viewcontrollers of your tabbar controller.

Upvotes: 7

Related Questions