Смена блокировки ориентации экрана на iOS - PullRequest
1 голос
/ 05 августа 2020

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

Проблема в следующем: Я ' m разрабатывает приложение с множеством функций, которое всегда должно оставаться в портретной ориентации: пока ничего сложного. Проблема связана с потоковой передачей в реальном времени: благодаря использованию собственных интерфейсов я реализовал потоковое решение, которое работает хорошо. В этом случае, поскольку потоковая передача в полноэкранном режиме - единственный случай, когда приложение должно использоваться в альбомной ориентации, хитрость заключается в том, чтобы сохранить приложение заблокированным в портретной ориентации: когда прямой стример помещает мобильный телефон в горизонтальное положение, все остальные пользователи смотрят потоковая передача вынуждена вращать мобильный телефон в альбомной ориентации, чтобы правильно видеть потоковую передачу.

Пока что вроде бы все решено, но это не так. Когда я придумал это решение, я не знал, что во время потоковой передачи должна быть возможность использовать чат: это означает, что мобильные телефоны действительно должны быть ориентированы в альбомной ориентации.

Деталь Проблема в том, что собственные интерфейсы используются мной только для потоковой записи, а для воспроизведения я использую Codename One MediaPlayer в неродном режиме, поэтому его можно настроить и вставить в форму по своему усмотрению.

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

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

Надеюсь получить полезные предложения. Спасибо!

Ответы [ 2 ]

2 голосов
/ 05 августа 2020

Блокировка ориентации на iOS должна работать. Сам не пробовал, но вижу, что метод lockOrientation () реализован в порту iOS, а canForceOrientation() возвращает true в IOSImplementation.

1 голос
/ 05 августа 2020
• 1000 Другой обходной путь, который используют некоторые пользователи, - полностью избежать блокировки экрана и показать плавающее уведомление: «Пожалуйста, поверните устройство в альбомную ориентацию». Когда пользователь находится в неправильной ориентации.
...