navigationItem backBarButtonItem 标题

Posted

技术标签:

【中文标题】navigationItem backBarButtonItem 标题【英文标题】:navigationItem backBarButtonItem title 【发布时间】:2014-05-07 09:14:19 【问题描述】:

嵌入式 UIViewController 上的 存在问题。 我在滚动视图中嵌入 UIViewControllers 以进行分页,当我在滚动视图/分页控制器堆栈上推送某些内容时,我想更改后退按钮标题以进行本地化。

这是我试图在 didSelectRowAtIndexPath 中执行的代码:

QueryItemTableViewController *itemView = [self.app.storyboard instantiateViewControllerWithIdentifier:@"QueryItemView"];

self.scrollcontroller.navigationItem.backBarButtonItem.title = @"Test";
[self.scrollcontroller.navigationController pushViewController:itemView animated:YES];

视图 QueryItemTableViewController 已正确推送到导航控制器,但后退按钮的标题仍然是前一个视图的标题。

有什么建议吗?

【问题讨论】:

是否需要显示自定义标题?您可以通过添加自定义 UIButton 并在 UIViewController 的 ViewDidLoad 方法中放置 leftBarButtonItem 来实现。 @yourwish:请注意,内联代码跨度不应用于强调。请参阅meta.stackexchange.com/questions/135112/… 了解更多信息。 @JoDev:嗯,很奇怪。不用担心。 @user2071152 不能解决问题,因为它不是后退按钮,然后我还需要执行点击代码:( 【参考方案1】:

能否更新正在推送的UIViewControllerViewDidLoad 方法中的标题。

【讨论】:

与 Maniac 的结果相同,后退按钮未设置为想要的文本。【参考方案2】:

在第一个中设置导航标题.. 当您推送到下一个视图控制器时。后退按钮会自动设置,并带有您为前一个设置的标题。 现在在ViewDidLoad 中更新当前视图控制器的标题。

简单来说就是这些步骤:

第 1 步 始终在ViewDidLoad 中设置当前视图控制器的标题以保持统一。

第 2 步 推到下一个UIViewController。一切都会自动设置。

注意:第一个视图控制器不会有任何后退按钮(因为它是根视图控制器)。如果你需要一个返回按钮类型的按钮,只需自定义一个 UIBarButtonItem 并使用它。

【讨论】:

我试过你的解决方案,但它仍然没有设置后退按钮的文本/标题。【参考方案3】:

后退按钮的标题会根据用户的设备语言设置自动调整为本地化。

【讨论】:

以上是关于navigationItem backBarButtonItem 标题的主要内容,如果未能解决你的问题,请参考以下文章

当我向 navigationItem 添加更多按钮时,如何使我的 navigationItem.titleView 居中?

更改 NavigationItem 标题

在navigationItem中居中titleView

如何重新加载 NavigationItem 标题

navigationItem和navigationBar相关性

在 Monotouch 中更改“返回”NavigationItem 文本?