У меня только одно сомнение. Когда я уже нахожусь в ландшафтном режиме, мой экран также появляется в ландшафтном режиме, хотя я ограничил его портретным режимом. Как я могу решить это?

одимо предотвратить поворот экрана на конкретном контроллере вида
Я пробовал ниже-

    public override bool ShouldAutorotateToInterfaceOrientation(UIInterfaceOrientation toInterfaceOrientation)
    {
        return false;
    }


    public override bool ShouldAutorotate()
    {
        return false;
    }


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


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


Ничего не получалось.

Заранее спасибо!

Ответы на вопрос(1)

Решение Вопроса

1) В вашем AppDelegate добавьте логическое значение, например

public bool disableAllOrientation = false;

2) Измените свою UIInterfaceOrientationnMask в AppDelegate

  public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations(UIApplication application, UIWindow forWindow)
        {
            if (disableAllOrientation == true)
            {
              return UIInterfaceOrientationMask.Portrait;
            }
            return UIInterfaceOrientationMask.All;
        }

3) Позвоните в контроллер вида, который вы хотите изменить ориентацию

appDelegate.disableAllOrientation = true;

4) и когда представление закрывается или изменяется, вам нужно снова установить логическое значение в false и поставить экран в исходную ориентацию, только если вы хотите.

appDelegate.disableAllOrientation = false;

Я надеюсь, что это решит вашу проблему. У меня была такая же проблема несколько дней назад, и это помогло мне.

 Nikhil Dekhane30 окт. 2017 г., 17:11
Да. Понял реализацию. Мы можем контролировать это через AppDelegate. ура
 Nikhil Dekhane30 окт. 2017 г., 16:58
Спасибо Маркос! Теперь это работает !
 Nikhil Dekhane03 нояб. 2017 г., 10:58
У меня только одно сомнение. Когда я уже нахожусь в ландшафтном режиме, мой экран также появляется в ландшафтном режиме, хотя я ограничил его портретным режимом. Как я могу решить это?
 Marcos José Pérez Pérez30 окт. 2017 г., 17:04
Добро пожаловать, Нихиль, эта работа, для обратного случая тоже. Если у вас есть портретное приложение, и вы хотите включить всю ориентацию для одного вида. С уважением!

Ваш ответ на вопрос