我的 MainViewController 中有这个方法:
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
NSLog(@"MAIN CONTAINER WILL ANIMATE");
[super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
}
当我旋转时,NSLog 出现了,一切都很完美。但是,如果我从 MainViewController 中显示 modalViewController,然后旋转,则 NSLog 不再出现,并且我的 MainViewController 永远不知道设备已旋转,因此当 modalView 被关闭时,界面不会针对旋转进行调整。
关于为什么模式视图可以阻止父级接收旋转更新的任何想法?这是典型的,还是我的设置有问题?
为了确保,我尝试通过 modalViewController 将 modalViewController 呈现为子视图[mainViewController.view addSubview:modalView.view]
,并且旋转更新正确生效。只有当我这样做时[mainViewController presentModalViewController:modalViewController];
,更新才会生效。