Я работаю над приложением для iPhone, используя swift. Я хотел бы заблокировать только один ViewController в альбомной ориентации, все остальные можно использовать в альбомной или альбомной ориентации. Например:
- ViewController1 - все ориентации
- ViewController2 - только landscapeRight
(Причина, по которой я хочу это сделать, заключается в том, что ViewConstroller2 показывает ландшафт формат изображения в полноэкранном режиме)
Я нашел хорошее решение, которое прекрасно работает, используя принятый ответ на этот пост: Как привязать ориентацию одного контроллера представления к портретному режиму только в Swift
Теперь мой вопрос: как мне обработать событие, которое пользователь возвращает обратно ViewController1? С решением из связанного вопроса stackoverflow (и всех других решений, которые я нашел и попробовал), ViewController1 находится в ландшафтном режиме после того, как пользователь возвращается из ViewController2, независимо от ориентации реального устройства, и это сбивает с толку. Только поворот устройства в горизонтальное и вертикальное положение делает refre sh, и все выглядит так, как должно.
Два примера того, как, по моему мнению, должно работать:
- устройство в книжной ориентации, показывая, что ViewController1 -> ViewController2 запускается -> назад к ViewController1 -> (устройство все еще находится в книжной ориентации) ViewController1 должен отображаться в книжной ориентации
- устройство находится в книжной ориентации, показывая ViewController1 -> ViewController2 запускается (пользователь переключил устройство в физическую альбомную ориентацию) -> обратно к ViewController1 -> (устройство все еще в горизонтальной ориентации) ViewController1 должен отображаться в горизонтальной ориентации
Многие приложения используют эту заблокированную ориентацию для некоторых ViewController - кто-нибудь знает, как с этим справиться? Я полагаю, что мне нужно какое-то значение refre sh до текущей позиции устройства после возвращения к V C !!?
Большое спасибо за вашу помощь!