В 7.3 / 9/2 + Swift как отключить анимацию вращения, когда устройство вращается?

Этот вопрос строго о iOS9 +

Допустим, у вас есть обычное современное приложение (autolayout, storyboard, universal), которое допускает все четыре позиции поворота

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

Но вы просто не хотите анимацию во время вращения устройства пользователем. Вы хотите, чтобы он просто «щелкнул» по новой боковой или вертикальной компоновке.

Единственный способ добиться этого - добавить:

override func viewWillTransitionToSize(size:CGSize,
       withTransitionCoordinator coordinator:UIViewControllerTransitionCoordinator)
    {
    coordinator.animateAlongsideTransition(nil, completion:
        {_ in
        UIView.setAnimationsEnabled(true)
        })
    UIView.setAnimationsEnabled(false)
    super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator);
    }

водин контроллер представления, самый высокий или почти самый высокий VC, который содержит остальные виды контейнера или что-либо в сцене.

По сути, это та же самая древняя идея использования willRotateToInterfaceOrientation / didRotateFromInterfaceOrientation (оба теперь недоступны в современной iOS) для включения-выключения анимации.

Однако есть много проблем

это не работает AppWide, это беспорядок, это основано на сцене

кажется очень плохим просто отключить все анимации

вы можете увидеть все виды ипподрома

Этот вопрос строго о iOS9 +

В наши дни, есть ли лучший способ отключить анимацию вращения в приложении, которое поддерживает пейзаж / портрет ???

Этот вопрос строго о iOS9 +

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

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