Этот вопрос строго касается iOS9 +
Скажем, у вас есть обычное современное приложение (автозапуск, раскадровка, универсальный), который позволяет все четыре положения вращения
вы хотите, чтобы он автоматически определялся авторотированием, поэтому он изменится на ваши новые макеты с ограничениями, когда пользователь поворачивает устройство от пейзажа к портрету
Но вы просто не хотите анимации NO во время вращения устройства. Вы хотите, чтобы это просто "click" к новому боковому или вертикальному расположению.
Единственный способ добиться этого - добавить:
override func viewWillTransitionToSize(size:CGSize,
withTransitionCoordinator coordinator:UIViewControllerTransitionCoordinator)
{
coordinator.animateAlongsideTransition(nil, completion:
{_ in
UIView.setAnimationsEnabled(true)
})
UIView.setAnimationsEnabled(false)
super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator);
}
to один, самый высокий или почти самый высокий VC, который удерживает остальные виды контейнера или что-то еще в сцене.
Это в основном та же самая древняя идея использования willRotateToInterfaceOrientation/didRotateFromInterfaceOrientation (оба теперь непригодны для использования в современных iOS), чтобы включить анимацию.
Однако есть много проблем
-
это не работает AppWide, это беспорядок, он основан на сценах
-
Кажется, очень плохо просто отключить все анимации
-
вы можете увидеть все виды гоночных треков
Этот вопрос строго касается iOS9 +
В эти дни, есть ли лучший способ отключить анимацию вращения в приложении, которое поддерживает пейзаж/портрет???
Этот вопрос строго касается iOS9 +