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