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
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.
Possibly that only the window rotate. If you print it like this, it is always correct as I have tested.