模态视图控制器在旋转时占据整页

Posted

技术标签:

【中文标题】模态视图控制器在旋转时占据整页【英文标题】:modal view controller takes full page on rotate 【发布时间】:2012-11-15 08:08:38 【问题描述】:

我的应用程序需要一个接一个地打开两个模态视图控制器(我有登录视图,如果输入错误,则错误消息会显示在第二个模态视图控制器中。它按预期工作,但我在使用设备时遇到了问题被旋转了,由于某种未知的原因,第一个模态视图控制器占据了整个页面并且大部分屏幕变成了白色。

我用来打开模态 UIViewController 的代码如下

        LogonController * logonControler =[[self storyboard] instantiateViewControllerWithIdentifier:@"LogonController"];

        logonControler.modalPresentationStyle = UIModalPresentationFormSheet;
        logonControler.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

        [self  presentModalViewController:self.logonController animated:YES];

        logonControler.view.superview.backgroundColor=[UIColor clearColor];
        logonControler.view.superview.frame = CGRectMake(0, 0, 400, 200);

        CGPoint center = [DesktopSplitViewController sharedInstance].view.center;

        if (![UIApplication isPortrait]) 
            center=CGPointMake(center.y, center.x);
        
        center.y=center.y-100;

        logonControler.view.superview.center = center;

第二个模态视图控制器以相同的方式从 logonControler 打开,只是使用不同的 UIViewController 实现。

我坚持这两天以上,任何想法都会受到赞赏。

我发现了完全相同的问题here,但没有任何回放。

【问题讨论】:

【参考方案1】:

对于第二个视图控制器,将模态展示样式设置为 UIModalPresentationCurrentContext

【讨论】:

以上是关于模态视图控制器在旋转时占据整页的主要内容,如果未能解决你的问题,请参考以下文章

UIWindow 的根视图控制器在应用启动时不会旋转到横向

如何为modalviewcontroller关联整页卷曲动画?

旋转设备时表格视图更新无效

iPad 模态控制器在旋转后被解散

模态 VC 和旋转的自定义背景

模态视图控制器的呈现视图控制器不旋转