I have a `UINavigationController` with a root `UIViewController` ("root").

The root view controller pushes another `UIViewController` "child". When the "child" `UIViewController` is on the screen , I rotate the device and expect the "root" view controller to resize accordingly but this isn't happening. After putting a breakpoint in the root view controller:

```
-(void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
    [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
}

```

I see that the size is wrong and the root view controller doesn't adjust properly to the change.

Has any one experienced this behaviour?

The code is as so:

```
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

}

-(void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
/// The size is wrong if this view controller is off screen
    [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

```

![enter image description here](https://i.stack.imgur.com/bi69k.png)

Here is a print screen of the NSLog of the size after rotating the device - This is from the simulator but the behaviour is the same on the device.

![enter image description here](https://i.stack.imgur.com/D96ai.png)