【问题标题】:UINavigation back bar buttonUINavigation 后退栏按钮
【发布时间】:2013-10-31 03:29:48
【问题描述】:

我有一个UITableViewController 作为root view controllerUINavigationController

应用启动时,导航栏上没有返回栏按钮。但是,当我单击其中一个表格视图单元格,然后单击返回时,原始UITableViewController 的顶部会出现一个返回栏按钮。我不想要这个。我怎样才能摆脱它?

【问题讨论】:

  • 由于返回按钮是由 UINavigationController 管理的,所以肯定有什么可以返回的。我很好奇当你点击返回按钮时会发生什么?您必须将其他内容推送到导航堆栈上。

标签: ios uinavigationbar backbarbuttonitem


【解决方案1】:

在您希望显示后退按钮的任何视图控制器上,您可以将其添加到viewDidLoad 方法中:

[self.navigationItem setHidesBackButton:YES animated:NO];

或者,如果您希望更改动画,您可以在viewWillAppear:(BOOL)animated: 中添加此调用:

[self.navigationItem setHidesBackButton:YES animated:animated];

【讨论】:

    【解决方案2】:

    当您的应用程序打开时,UITableViewController 不会显示Back 按钮,因为没有什么可以返回。这就是初始视图控制器。

    至于第二个UIViewController,它推到前一个UITableViewController 的顶部 - 如果你不想要Back 按钮 - 使用Modal 转移而不是Push 转账。

    Apple 的Navigation Controller 就是这样工作的。它像堆栈一样工作。一个UIViewController推送到当前的。

    但是,如果您仍然希望在 Modal 上添加一个 Navigation Bar,请继续 UIViewController,您可以手动将其添加到 Interface Builder 中:

    然后您可以将UIBarButton 添加到Navigation Bar

    但是如果你仍然坚持简单地隐藏Back按钮,那么使用这个方法:

    把它放在你的UIViewController 类的实现的viewDidLoad 方法中:

    [self.viewController setHidesBackButton:YES animated:NO];
    

    【讨论】:

    • 好吧,我明白了。我尝试了模态转移,但导航栏完全消失了,我也不想要。如果可能的话,我只想要没有新的后退按钮的原始导航栏(右侧有一个添加按钮)。
    • 仅供参考 - 如果你想从这个 UIViewControllersegue 这将是一个错误的方法,因为它是一个 Modal segue。
    • 在 IB 中更改该设置只会更改 IB 为您呈现它的方式,它实际上不会添加导航栏 - 当且仅当您在导航控制器中并且没有隐藏时才会出现酒吧。
    • ...这就是为什么你应该向下滚动到我的答案的底部。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 2013-09-25
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 2021-11-12
    相关资源
    最近更新 更多