在我的应用程序中,我确实有两个 viewController:
VideoListViewController
- 仅限肖像
VideoPlayerViewController
- 仅限风景
VideoListViewController
VideoPlayerViewController
通过打开self.present(viewController...)
我通过以下方式阻止方向:
override var supportedInterfaceOrientations: UIInterfaceOrientationMask
{
return .portrait
}
我的问题是仅纵向视图接收到陆地空间安全区域...在我VideoListViewController.layoutSubviews
打印self.safeAreaLayoutGuide.layoutFrame
时,它在第一次返回时按预期工作{{0, 44}, {375, 734}}
(纵向模式),但是当 VideoPlayer 出现在陆地空间旋转中时,我的纵向视图控制器得到{{44, 0}, {287, 791}}
效果是,旧视图更新会忽略安全区域,并在ViewPlayerViewController
消失时自行修复。
有人遇到过这个问题吗?有什么解决方法吗?