当我的 UI 流程如下时,我的应用程序中有一个奇怪的错误:
mainViewController 以纵向启动,然后显示一个 LoginViewController,其中 modalPresentationStyle 设置为
UIModalPresentationFullScreen。我将 loginViewController 设置为横向模式,输入凭据进行登录(验证用户的方法在 mainViewController 中定义)。
loginViewController 被解除(从 mainViewController)并且一堆按钮被加载到屏幕上以指示它是主屏幕。
现在我的问题是按钮位置看起来好像应用程序处于纵向方向,即使在显示 loginViewController 时应用程序切换到横向。
此外,仅当 modalPresentationStyle 设置为UIModalPresentationFullScreen! 当我将其呈现为表单或页面表时,一切正常(但是,我需要将 loginViewController 显示为全屏)。
到目前为止,我已经尝试在 loginViewController 被解除等时手动调用 shouldAutorotate 方法,这解决了问题,但似乎是一种劣质的解决方法而不是修复。
我也尝试从 loginViewController 调用 mainViewController 的 shouldAutorotate 方法,但这并没有改变。
关于如何解决这个问题的任何想法?