【问题标题】:UINavigationBar is showing after a pushUINavigationBar 在推送后显示
【发布时间】:2012-05-11 18:48:02
【问题描述】:

我正在为 UI 使用故事板,我有以下内容:

一个登录窗口,它是 segue 的初始视图。如果登录成功,它将把用户带到另一个视图,该视图不能有返回按钮到登录页面!这是UITabBarController,它有自己的导航栏。现在它显示了两个导航栏,并且后退按钮出现在整个应用程序中。

如果我点击返回按钮,它总是会将我带到登录视图。有什么想法吗?

【问题讨论】:

标签: objective-c uinavigationbar uistoryboard


【解决方案1】:

当您有一个导航控制器时会发生这种情况,它将状态栏添加到您进入的每个控制器的视图中,并为每个控制器的视图添加一个自己的导航栏。

a) 只需去掉控制器的专用导航栏即可进入

b) 不要使用导航控制器,而是将模式推送到控制器的视图

[currentController presentModalViewController:controllerYouWantToShow animated:YES]

c) 导航控制器的导航栏,但我不建议这样做,因为它会给你带来奇怪的行为,而且真的是蛮力,只是不是最好的方法..

【讨论】:

  • 试过 b) 但没有运气! a) 无法摆脱它们,因为我需要几个按钮,具体取决于它加载的视图。不知道这里可以做什么!
  • c) [currentController presentModalViewController:controllerYouWantToShow animated:YES];
  • 我之前做过,但我得到的是:“应用程序试图以模态方式呈现一个活动控制器”,因为登录视图是第一个显示的视图
  • fixed :) 将 segues 从推送更改为模态并将它们视为模态演示而不是推送。谢谢!
【解决方案2】:

要隐藏整个栏吗?

如果是这样:

[self.navigationController setNavigationBarHidden:YES animated:NO];

或者你只是想隐藏后退按钮?

[self.navigationItem setHidesBackButton:YES animated:NO]

【讨论】:

    【解决方案3】:

    您应该在故事板模式下向左看导航控制器所在的位置。如果您不想要返回按钮或隐藏任何一个,您可以删除导航栏。

    [self.navigationController setNavigationBarHidden:YES animated:NO];
    

    但是,有更好的方法来做登录屏幕,而不是推送到视图控制器堆栈上,这就是你使用导航控制器所做的事情。

    进行登录的一个好方法是呈现一个模态视图控制器,然后在没有导航控制器的情况下将其关闭。这样,如果您已经登录,您将永远无法导航回登录屏幕。只需在应用程序委托中设置一个全局布尔变量,允许整个应用程序知道您已登录,并在之后测试该变量您关闭模式登录页面。

    这样你就没有几个你通常不想要的导航控制器

    干杯

    【讨论】:

    • 嗨!我试过用那种方式隐藏它,但我只是隐藏它自己的导航栏,而不是带有后退按钮的栏
    • 根据我的经验,导航控制器也有很多问题,但您需要知道何时使用它们,何时不使用它们。如果您需要使用两个导航控制器来解决您的问题,那么很可能有更好的方法来解决。将模态转换视为像网站一样的弹出窗口。很多时候在网络上,登录表单会弹出、关闭,然后将用户导航到他们的个人资料或其他任何内容。我认为这可能是您正在寻找的,而不是使用两个导航栏。希望这会有所帮助。
    • 他显然不想拥有两个酒吧
    • 完全是 MJB,它就像导航堆栈一样重叠,我有两个导航栏
    【解决方案4】:

    如果您使用导航控制器和 push segue,您将获得一个“返回”按钮,因为这是导航控制器的本质。听起来您想要的(“登录页面不能有后退按钮”)是重置导航控制器的堆栈,使其不包括登录视图控制器。您应该可以使用自定义 segue 来做到这一点(它们很容易编写)。另一种选择是以模态方式呈现登录视图控制器,这是一种非常典型的登录屏幕方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-04
      • 1970-01-01
      • 1970-01-01
      • 2021-11-07
      相关资源
      最近更新 更多