safeAreaLayoutGuide在阻塞的旋转上返回错误的值
在我的应用程序中,我有两个viewControllers:
VideoListViewController
– 仅限肖像
VideoPlayerViewController
– 仅限横向
VideoListViewController
通过VideoListViewController
打开VideoPlayerViewController
self.present(viewController...)
我通过以下方式阻止方向:
override var supportedInterfaceOrientations: UIInterfaceOrientationMask { return .portrait }
我的问题是仅限纵向视图接收了landspace安全区域…在我的VideoListViewController.layoutSubviews
我打印了self.safeAreaLayoutGuide.layoutFrame
,它在self.safeAreaLayoutGuide.layoutFrame
工作时首先返回{{0, 44}, {375, 734}}
self.safeAreaLayoutGuide.layoutFrame
{{0, 44}, {375, 734}}
self.safeAreaLayoutGuide.layoutFrame
{{0, 44}, {375, 734}}
(肖像)模式),但是当VideoPlayer出现在LANDpace旋转中时,我的仅限肖像的viewController得到{{44, 0}, {287, 791}}
44,0 {{44, 0}, {287, 791}}
287,791 {{44, 0}, {287, 791}}
效果是稍微时刻旧视图更新忽略安全区域,并在ViewPlayerViewController
消失时ViewPlayerViewController
修复。
有没有人有这个问题? 这有什么解决方法吗?