我有一个模态呈现的 UINavigationController。模态以手机所在的方向正确呈现。但是,当我关闭模态时,它会立即旋转为纵向并动画到主页按钮,该按钮在横向模式下位于左侧或右侧。模态打开时导航都很好,旋转很好,只是没有关闭。
我怎样才能简单地让模式在设备所在的方向上关闭?
我添加了一张在横向模式下被关闭的模态图像。
之前:
期间:
如您所见,布局非常糟糕。 NavigationController 中显示的当前 View 甚至不会调整为纵向屏幕尺寸。
可能值得一提的是,此时我也展示了一个新的 sotryboard
_storyboard = [UIStoryboard storyboardWithName:storyBoardName bundle:resourceBundle];
_rootViewController = [_storyboard instantiateInitialViewController];
[_sourceViewController presentViewController:_rootViewController animated:animated completion:nil];
最佳答案
我相信我已经解决了我自己的问题。从后台线程更新 UI - 经典。发生的事情是我从委托(delegate)方法 -(void)didLogin;
中触发 dismiss 方法。此委托(delegate)方法在后台线程上进行网络调用后触发。因此,当我尝试更新 UI 时,我不再处于主线程中,这导致了一些非常不寻常的 UI 行为。
[[NSOperationQueue mainQueue] addOperationWithBlock:^ {}];
这挽救了局面。
关于ios - 横向模态模式在关闭时切换为纵向模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20069368/