Iphone 解除模态视图控制器

Iphone 解除模态视图控制器,iphone,ios,objective-c,modalviewcontroller,Iphone,Ios,Objective C,Modalviewcontroller,问题:解除模式视图控制器时,显示视图控制器上的标题向上移动(看起来约为20像素) 重新创建的步骤: 创建一个选项卡栏控制器(T),在其中创建一个导航控制器(N)和一个根视图控制器(a) 使用代理设置另一个视图控制器(B)(这是要以模式显示的视图控制器),以便我们可以通知显示视图控制器(a)何时应关闭模式(B) 在导航控制器的根视图控制器内(A)通过使用序列图像板id从序列图像板实例化来创建(B)的实例,然后使用[self.tabBarController presentViewControlle

问题:解除模式视图控制器时,显示视图控制器上的标题向上移动(看起来约为20像素)

重新创建的步骤: 创建一个选项卡栏控制器(T),在其中创建一个导航控制器(N)和一个根视图控制器(a)

使用代理设置另一个视图控制器(B)(这是要以模式显示的视图控制器),以便我们可以通知显示视图控制器(a)何时应关闭模式(B)

在导航控制器的根视图控制器内(A)通过使用序列图像板id从序列图像板实例化来创建(B)的实例,然后使用[self.tabBarController presentViewController:(B)animated:YES complition:nil]

(B)上有一个按钮,按下该按钮时,会触发代理功能,通知(a)使用[self.tabBarController dismissViewControllerAnimated:YES complition:nil]解除(B)

到目前为止,所有的工作都如预期的那样。但是,一旦模态视图控制器(B)被解除。(A)上的导航标题向上移动了约20个像素


我无法理解当模式被取消时导航标题为何向上移动。

在显示的viewController中,将以下代码添加到

-(void)viewdide出现:(BOOL)动画
方法:

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];

状态栏在显示模态之前和之后。我不确定我是否了解要检查什么。我经常遇到同样的问题,总是状态栏中的不同内容,如方向和状态栏、xib文件和状态栏等等。我不能说要检查什么,但我认为这是状态栏和/或状态栏方向的问题。试着朝这个方向调试。例如,禁用状态栏并检查是否出现问题。为什么从
self.tabBarController
显示控制器(B)?从
self
展示它,看看它是否改变了什么。尝试了一下,结果是一样的。仍然在玩Retterdesdialogs的建议。如果我禁用状态栏,它可以正常工作。但是,如果可能的话,我想保留状态栏。这似乎没有帮助。状态栏实际上从未被隐藏。“它在任何时候都是可见的。”达特霍达,这个问题解决了吗?如果是,请发布解决方案。