#swift #xcode #autorotate #avplayerviewcontroller
#swift #xcode #автозапуск #avplayerviewcontroller
Вопрос:
Мой пользовательский AVPlayerViewController не будет автоматически вращаться, если был создан предыдущий контроллер просмотра. Если я представляю AVPlayerViewController, он вращается, и если я представляю предыдущий контроллер просмотра, он вращается. Вот мой код для создания экземпляра контроллера представления :
let vc = self.storyboard!.instantiateViewController(withIdentifier: "MovieVC") as! MovieVC
vc.movie = self.movie
self.navigationController?.pushViewController(vc, animated: true)
В этой ситуации я создаю копию текущего контроллера представления с другой информацией. Если нет способа исправить ошибку автоматического вращения, есть ли другой способ представить тот же контроллер представления?
Ответ №1:
Проблема в том, что вы не представляете контроллер представления. Вы нажимаете на него. Это означает, что сам навигационный контроллер отвечает за вращение, поэтому вы не получаете никакого специального автоматического поворота для этого контроллера просмотра.
Единственный способ предоставить этому контроллеру представления собственную власть над автоповоротом — это представить его:
self.present(vc, animated: true)
Комментарии:
1. Похоже, это не помогло. AVPlayerViewController все еще не вращался.
2. Ну, я ничего не знаю о том, каковы ваши настройки автоматического поворота AVPlayerViewController. Но я уверяю вас, что если он настроен на вращение, он будет.
3. Я обнаружил, что если AVPlayerViewController представлен в альбомном режиме, а затем ориентация устройства меняется на книжную, он автоматически вращается, но не наоборот