我们有一个ipad应用程序,它支持左右方向。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Overriden to allow any orientation.
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
我们通过调用
将视图控制器显示为模态视图childController.modalPresentationStyle = UIModalPresentationPageSheet;
childController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[parentController presentViewController:childController animated:childController.animated completion:^{
childController->isBeingShowed = FALSE;
当我们显示一个模态视图时:RootViewController(FullScreen) - > SelectOption(500,500)旋转工作正常并选择选项视图控制器具有原始大小。
当我们显示其他模态视图时:RootViewController(FullScreen) - > SelectOption(500,500) - >其他选项(300,300),旋转后SelectOption视图控制器大小更改为全屏,而AdditionalOptions视图控制器保持它的大小是指定的。
答案 0 :(得分:1)
问题通过小技巧解决了。
他们问题的根源是,我打开第一个模态视图作为PageSheet,当我从第一个打开第二个模态视图时,我得到了MainView(FullScreen),打开了作为页面表的模态视图,以及第二个页面表从上一页打开。这种架构导致轮换问题。
技巧:现在我打开第二个模态视图作为FormSheet,重新计算坐标以对应PageSheet坐标系。所以现在它看起来像这个MainView-> PageSheet-> FormSheet,问题得到解决。
很抱歉没有代码。