1

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

我用来打开模态 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 实现。

我被困在这两天以上,任何想法都会受到赞赏。

我在这里发现了完全相同的问题,但没有任何重播。

4

1 回答 1

1

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

于 2013-04-11T17:28:55.690 回答