iPhone XR 旋转后返回根视图控制器
iPhoneXR returning to rootview controller after rotation
我目前有一个仅在 iPhone XR 上报告的错误。
我们有一个自定义相机,强制旋转为横向,完成后,它强制视图返回纵向。
该错误仅由具有 iPhone XR 的用户提及。它发生在调用强制旋转和弹出视图控制器之后。它不是 return 返回到前一个视图,而是通过三个视图控制器返回到根视图控制器。 (编辑:据我所知,其他视图控制器根本不是 called/displayed/loaded)
我发现即使我们没有调用这个错误也会发生..
self.navigationController?.popViewController(animated: true)
所以这个问题特别发生在这一行..
UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue, forKey: "orientation")
然后禁用此行后,下一个屏幕出现在横向。但是,如果我将 phone 物理旋转为纵向,它会再次跳回到根视图控制器。
备注
- 我已确认在 iPhone 6s 和更旧的设备上不会发生此错误。
- 我无法在模拟器上测试相机功能,这令人沮丧。
- 我的应用程序中有零代码调用根控制器的任何 return。
- 这个
的根有一个拆分视图控制器
是否有一些我不知道的新功能,为什么轮换调用新 phones return 到根视图控制器?
更新:
这是我目前在这个问题上的领先地位。
Popover Nil On Rotation
问题是这一行
UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue, forKey: "orientation")
是非法的,而且一直都是。您关于强制轮换的整个概念是错误的。强制旋转的唯一合法方法是全屏呈现的视图控制器,它具有一组不同的支持方向。
所以我找到了一个解决方案,我正在发布,而不是打折 matt 的回复,它提供了对更好实践的深刻见解。
问题是在较新的设备上旋转时拆分视图控制器使弹出窗口为零,因此返回到根。我在这里找到了关于这种行为的解释 - Modal disappearing after rotating UISplitViewController
简而言之,我删除了 Split View Controller,并将寻找更好的替代方案来支持 iPad。
我目前有一个仅在 iPhone XR 上报告的错误。
我们有一个自定义相机,强制旋转为横向,完成后,它强制视图返回纵向。
该错误仅由具有 iPhone XR 的用户提及。它发生在调用强制旋转和弹出视图控制器之后。它不是 return 返回到前一个视图,而是通过三个视图控制器返回到根视图控制器。 (编辑:据我所知,其他视图控制器根本不是 called/displayed/loaded)
我发现即使我们没有调用这个错误也会发生..
self.navigationController?.popViewController(animated: true)
所以这个问题特别发生在这一行..
UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue, forKey: "orientation")
然后禁用此行后,下一个屏幕出现在横向。但是,如果我将 phone 物理旋转为纵向,它会再次跳回到根视图控制器。
备注
- 我已确认在 iPhone 6s 和更旧的设备上不会发生此错误。
- 我无法在模拟器上测试相机功能,这令人沮丧。
- 我的应用程序中有零代码调用根控制器的任何 return。
- 这个 的根有一个拆分视图控制器
是否有一些我不知道的新功能,为什么轮换调用新 phones return 到根视图控制器?
更新: 这是我目前在这个问题上的领先地位。 Popover Nil On Rotation
问题是这一行
UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue, forKey: "orientation")
是非法的,而且一直都是。您关于强制轮换的整个概念是错误的。强制旋转的唯一合法方法是全屏呈现的视图控制器,它具有一组不同的支持方向。
所以我找到了一个解决方案,我正在发布,而不是打折 matt 的回复,它提供了对更好实践的深刻见解。
问题是在较新的设备上旋转时拆分视图控制器使弹出窗口为零,因此返回到根。我在这里找到了关于这种行为的解释 - Modal disappearing after rotating UISplitViewController
简而言之,我删除了 Split View Controller,并将寻找更好的替代方案来支持 iPad。