MvvmCross: Jak wymusić określoną orientację na MvxViewController w iOS 7 na iPhone

W mojej aplikacji iOS 7 zezwalam na „Portret” tylko w „Obsługiwanej orientacji urządzenia” dla całej aplikacji, z wyjątkiem tego, że muszę zezwolić na orientację „Krajobraz” w widoku „Odtwarzacz wideo”. Jak mogę to zrobić za pomocą MvvmCross lub MvxViewController? Próbowałem ustawić te metody ShouldAutorotate (), GetSupportedInterfaceOrientations (), ale nic nie robi. Pozostaje zablokowany w trybie Portret dla widoku „Odtwarzacz wideo”. Czy ktoś wie, jaki jest właściwy sposób ustawienia orientacji w widoku?

 public class VideoPlayerView : MvxViewController
 {
    public override bool ShouldAutorotate()
    {
        return true;
    }

    public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations()
    {
        return UIInterfaceOrientationMask.AllButUpsideDown;
    }

    public override UIInterfaceOrientation PreferredInterfaceOrientationForPresentation()
    {
        return UIInterfaceOrientation.LandscapeLeft;
    }

    public override void ViewDidLoad(bool animated)
    {
        Title = "Video";

        base.ViewDidLoad(animated);
    }    

}

AKTUALIZACJA: Zorientowałem się, jak rozwiązać ten problem.

Krok 1) W przypadku mvvmcross musisz skonfigurować nowy ViewPresenter z dziedziczeniem z MvxModalNavSupportTouchViewPresenter

Krok 2) Utwórz nowy kontroler nawigacji dziedziczący z kontrolera UINavigationControl za pomocą następującego kodu

            public override bool ShouldAutorotate()
            {
                return TopViewController.ShouldAutorotate();
            }

            public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations()
            {
                var orientation = TopViewController.GetSupportedInterfaceOrientations();
                return orientation;
            }

Krok 3) W nowym widoku prezentera, który właśnie utworzyłeś w kroku 1, zastąp metodę CreateNavigationController i użyj nowego urządzenia NavigationController utworzonego w kroku 2.

Krok 4) Na kontrolerze ViewController chcesz zmienić orientację, możesz ją zmienić, zastępując metodę GetSupportedInterfaceOrientations. Na przykład na moim VideoPlayerView mam poniższy kod.

    public override bool ShouldAutorotate()
    {
        return true;
    }

    public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations()
    {
        return UIInterfaceOrientationMask.AllButUpsideDown;
    }

questionAnswers(0)

yourAnswerToTheQuestion