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】:能否更新正在推送的UIViewController
的ViewDidLoad
方法中的标题。
【讨论】:
与 Maniac 的结果相同,后退按钮未设置为想要的文本。【参考方案2】:在第一个中设置导航标题..
当您推送到下一个视图控制器时。后退按钮会自动设置,并带有您为前一个设置的标题。
现在在ViewDidLoad
中更新当前视图控制器的标题。
简单来说就是这些步骤:
第 1 步
始终在ViewDidLoad
中设置当前视图控制器的标题以保持统一。
第 2 步
推到下一个UIViewController
。一切都会自动设置。
注意:第一个视图控制器不会有任何后退按钮(因为它是根视图控制器)。如果你需要一个返回按钮类型的按钮,只需自定义一个 UIBarButtonItem 并使用它。
【讨论】:
我试过你的解决方案,但它仍然没有设置后退按钮的文本/标题。【参考方案3】:后退按钮的标题会根据用户的设备语言设置自动调整为本地化。
【讨论】:
以上是关于navigationItem backBarButtonItem 标题的主要内容,如果未能解决你的问题,请参考以下文章
当我向 navigationItem 添加更多按钮时,如何使我的 navigationItem.titleView 居中?