横向模态在被解雇时切换为纵向

时间:2013-11-19 10:45:44

标签: ios iphone objective-c uinavigationcontroller modalviewcontroller

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

如何才能简单地将模态关闭到设备所在的位置?

我已经在横向模式中包含了一个被解雇的模态图像。

在: View being dismissed

在: View during dismissal

正如您所看到的那样,布局非常破碎。 NavigationController中显示的当前视图甚至不会调整为纵向屏幕尺寸。

值得一提的是,我现在正在展示一个新的sotryboard

    _storyboard = [UIStoryboard storyboardWithName:storyBoardName bundle:resourceBundle];
    _rootViewController = [_storyboard instantiateInitialViewController];
   [_sourceViewController presentViewController:_rootViewController animated:animated completion:nil];

1 个答案:

答案 0 :(得分:1)

我相信我已经解决了自己的问题。从后台线程更新UI - 经典。发生的事情是我从委托方法-(void)didLogin;中解雇了dismiss方法。此委托方法在后台线程上进行网络调用后触发。因此,当我尝试更新UI时,我不再在主线程上导致一些非常不寻常的UI行为。

[[NSOperationQueue mainQueue] addOperationWithBlock:^ {}];

这节省了一天。