我有UINavigationController
一个根UIViewController
(“根”)。
根视图控制器推送另一个UIViewController
“孩子”。当“孩子”UIViewController
出现在屏幕上时,我旋转设备并期望“根”视图控制器相应地调整大小,但这并没有发生。在根视图控制器中放置断点后:
-(void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
}
我看到大小错误,并且根视图控制器没有正确调整以适应更改。
有没有人经历过这种行为?
代码是这样的:
@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
这是旋转设备后大小的 NSLog 的打印屏幕 - 这是来自模拟器,但在设备上的行为是相同的。