【问题标题】:Dismissing modal view controller关闭模态视图控制器
【发布时间】:2013-01-01 03:21:31
【问题描述】:

问题:当关闭模态视图控制器时,呈现视图控制器上的标题向上移动(看起来大约 20 像素)。

重新创建的步骤: 创建一个标签栏控制器(T),在里面创建一个导航控制器(N)一个根视图控制器(A)。

使用委托设置另一个视图控制器 (B)(这是要以模态方式呈现的视图控制器),以便我们可以通知呈现视图控制器 (A) 何时应该关闭模态 (B)。

在导航控制器的根视图控制器(A) 中创建一个 (B) 的实例,方法是使用它的情节提要 ID 从情节提要中实例化它,然后使用 [self.tabBarController presentViewController:(B) animated:YES complition 呈现 (B) :零];。

在 (B) 上有一个按钮,按下该按钮会触发委托函数以通知 (A) 解除 (B),方法是使用 [self.tabBarController dismissViewControllerAnimated:YES complition:nil];

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

我无法弄清楚为什么当模式被关闭时导航标题会向上移动。

【问题讨论】:

  • 状态栏在显示模态之前和之后。我不确定我是否了解要检查的内容。
  • 我经常遇到同样的问题,总是状态栏在不同的地方,比如方向和状态栏,xib文件和状态栏等等。我不能说要检查什么,但我认为这是状态栏和/或状态栏方向的问题。尝试朝这个方向调试。例如禁用状态栏并检查是否出现问题。
  • 为什么要展示self.tabBarController的控制器(B)?从self 展示它,看看它是否改变了什么。
  • 试过了,结果一样。还在纠结 Retterdesdialogs 的建议。
  • 如果我禁用状态栏它工作正常。但是,如果可能的话,我想保留状态栏。

标签: iphone ios objective-c modalviewcontroller


【解决方案1】:

在呈现的 viewController 中添加以下代码到

-(void)viewDidAppear:(BOOL)animated方法:

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

【讨论】:

  • 这似乎没有帮助。状态栏实际上永远不会被隐藏。它随时可见。
  • @darthyoda,这还解决了吗?如果是,请发布解决方案。
猜你喜欢
  • 2011-06-11
  • 1970-01-01
  • 1970-01-01
  • 2016-12-11
  • 2011-06-24
相关资源
最近更新 更多