在我的项目中,我只需要一个页面是横向模式而不是纵向模式,而其余页面都是纵向和横向模式。
根据文档,我使用了 SystemChrome.setPreferredOrientations
@override
void initState() {
// set the screen in landscape mode
SystemChrome.setPreferredOrientations([
DeviceOrientation.landscapeRight,
DeviceOrientation.landscapeLeft,
]);
super.initState();
}
和
@override
void dispose() {
// restore the
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.landscapeRight,
DeviceOrientation.landscapeLeft,
]);
super.dispose();
}
当我退出页面恢复竖屏模式时。
现在,虽然在 iPhone 上它可以完美地工作,但在 iPad 上就好像它不存在一样,横向和纵向都可以。 当然,因为我不希望整个应用程序处于横向模式,而只希望一页,所以我无法对 info.plist 进行操作。 有人遇到过同样的问题吗? 谢谢
处理时仅保留纵向向上
@override
void dispose() {
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
]);
super.dispose();
}
如果是iPad,请在info.plist中设置
<key>UIRequiresFullScreen</key>
<true/>
添加此 SystemChrome.setPreferredOrientations([....]) 后即可正常工作。