ios - 横向模态模式在关闭时切换为纵向模式

标签 ios iphone objective-c uinavigationcontroller modalviewcontroller

我有一个模态呈现的 UINavigationController。模态以手机所在的方向正确呈现。但是,当我关闭模态时,它会立即旋转为纵向并动画到主页按钮,该按钮在横向模式下位于左侧或右侧。模态打开时导航都很好,旋转很好,只是没有关闭。

我怎样才能简单地让模式在设备所在的方向上关闭?

我添加了一张在横向模式下被关闭的模态图像。

之前: View being dismissed

期间: View during dismissal

如您所见,布局非常糟糕。 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/

相关文章:

iOS 更改表格 View 中的特定单元格

ios - 我们可以为 AVSpeechSynthesizer 提供自定义语音吗

使用 ios 5 的 iphone 5 NIB

ios - 一段时间后通知后台下载

iPhone quartz 绘图橡皮擦

iphone - 如何使用网页 View 作为页面( subview )制作无缝 ScrollView

c# - 单点触控 : Hide UIBarButtonItem

ios - Xcode 调试 View 层次结构 : Unable to capture view hierarchy

iOS UiWebView "Frame load interrupted"

ios - 如何在路径末尾停止具有负时间偏移的 CAKeyframeAnimation