Я нашел этот фрагмент кода:
В моем файле main. дротик
Код: Выделить всё
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
]).then((_) {
runApp(new IHGApp());
});
Код: Выделить всё
@override
void initState() {
super.initState();
SystemChrome.setPreferredOrientations([
DeviceOrientation.landscapeRight,
DeviceOrientation.landscapeLeft,
]);
}
@override
void dispose() {
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
]);
super.dispose();
}
Похоже, что на iOS невозможно принудительно включить ландшафтный режим для одного страница.
https://github.com/flutter/flutter/issues/13238
В этой статье я нашел вопрос для этой проблемы. Сродди упомянул, как решить проблему.
"Я решил проблему, создав небольшой канал платформы, который вызывает этот код для переключения в портретный режим прямо перед вызовом setPreferredOrientations:"
Код: Выделить всё
[[UIDevice currentDevice] setValue:@(UIInterfaceOrientationPortrait) forKey:@"orientation"];
Код: Выделить всё
[[UIDevice currentDevice] setValue:@(UIInterfaceOrientationLandscapeLeft) forKey:@"orientation"];
Подробнее здесь: https://stackoverflow.com/questions/529 ... age-on-ios