Automatiquement Dimensionnement UIView après l'Ajout de la Fenêtre

Remarque: Cela peut être un doublon de Sous-vue Ne marche pas AutoSize Lorsqu'il est Ajouté à la Racine de la Vue-Contrôleur


J'ai une application pour iPad qui permet de commuter entre les différents points de vue dans la fenêtre principale. Le point de vue de commutation de code ressemble à ceci:

- (void)switchToViewController:(UIViewController*)viewController {
    if (currentViewController != viewController) {
        [currentViewController.view removeFromSuperview];
        currentViewController = viewController;
        [window addSubview:viewController.view];
    }
}

Le problème est que lorsque le nouveau point de vue (un UISplitView) s'affiche en mode paysage, il n'est pas de taille à remplir la totalité de la fenêtre. Il y a un grand vide noir de l'espace sur la droite. On dirait que la vue est à seulement 768 pixels de large, plutôt que de 1024 pixels de largeur du paysage de la fenêtre.

Si j'ai faites pivoter l'appareil pour le portrait et puis retour au paysage, à la vue des tailles de lui-même correctement.

Si l'appareil est en orientation portrait, tout fonctionne bien. Le UISplitView obtient également la taille adéquate si c'est le premier point de vue, je spectacle. Le problème se produit uniquement si je passe après un autre point de vue a été montré, dans le paysage.

Donc, est-il un moyen de forcer l'iPhone OS afin de redimensionner l'affichage après qu'il a été ajouté à la fenêtre?

J'ai essayé d'appeler sizeToFit, et setNeedsLayout. J'ai aussi essayé de paramétrage de l'affichage du bounds de la fenêtre bounds, et j'ai essayé de réglage de la frame pour correspondre à la vue précédente de l'image.