我正在开发一个应用程序,可以根据屏幕的不同将屏幕方向锁定为纵向或横向。 IE。我有一个使用纵向模式的设置流程,但完成并启动“应用程序”后,我会切换到横向模式。
无论如何,每个屏幕锁定代码(在谷歌搜索时推荐)在我的 iPhone 上工作正常,但在我的 iPad 上不起作用。
在 iPad 上,屏幕旋转并变黑。
锁定设置屏幕的代码:
@override
void initState() {
super.initState();
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
]);
}
是的,我已经做到了
WidgetsFlutterBinding.ensureInitialized();
最佳答案
我终于通过手动编辑 Info.plist 文件修复了这个问题。
使用文本编辑器打开它并更改您找到的支持的方向值:
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
第一个 block 适用于 iPhone,第二个 block 适用于 iPad(这将阻止多任务处理)
关于flutter - 在 Flutter 中锁定每个屏幕的屏幕方向在 iPad 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73088824/