Comment mettre en œuvre UIViewController rotation en réponse à des changements d'orientation?

Mon application a environ 10 différents UIViewControllers, juste un de qui je veux passer en mode paysage si l'appareil est en rotation. (Tout le reste, je veux garder dans le portrait.)

Afin de mettre en rotation sur un point de vue, j'avais besoin de mettre en œuvre son contrôleur " shouldAutorotate de la méthode et de retour OUI. Depuis ce point de vue est accessible via une manette de navigation, j'ai aussi besoin de créer une sous-classe de UINavigationController qui implémente 'shouldAutorotate' et retour OUI.

Cette solution fonctionne, mais trop bien. Je trouve que tous les UIViewControllers je pousse sur mes sous-classe de UINavigationController répondre à la rotation, même si j'en œuvre 'shouldAutorotate' et retour PAS. (Rappelez-vous: je veux seulement un particulier UIViewController pour répondre à la rotation, ce n'est pas dans la navigation du contrôleur de la pile.)

Donc, ma question est: comment puis-je mieux le faire? Toutes les solutions que je peux venir avec semblent 1) lourd, et 2) la pire, ne semble pas fonctionner.

Merci beaucoup.

OriginalL'auteur Greg Maletic | 2010-05-14