1

私のアプリは、2 つのモーダル ビュー コントローラーを次々に開く必要があります (ログイン ビューがあり、入力が間違っている場合、2 番目のモーダル ビュー コントローラーにエラー メッセージが表示されます。期待どおりに動作しますが、デバイスを回転させると問題が発生しました。なんらかの理由で、最初のモーダル ビュー コントローラーがページ全体を占有し、ほとんどの画面が白くなります。

次のようにモーダル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;

2 番目のモーダル ビュー コントローラーは、異なる UIViewController 実装を使用するだけで、logonControler から同じ方法で開かれます。

私はこれに2日以上こだわっていますが、どんな考えでも大歓迎です。

ここでまったく同じ質問を見つけましたが、リプレイはありません。

4

1 に答える 1