必须更改语言后刷新导航返回按钮的标题

Posted

技术标签:

【中文标题】必须更改语言后刷新导航返回按钮的标题【英文标题】:refresh the title of the navigation backbutton after have to change the language 【发布时间】:2012-06-28 14:26:47 【问题描述】:

在我的应用程序中,用户可以按下工具栏上打开模态视图控制器的参数按钮。他更改语言,保存并关闭此视图控制器。 当他在以前的视图控制器中返回时,所有标签、图像视图等...都有更改 (here how do that, see Mauro Delrio) 答案,但没有导航后退按钮标题。我开始相信无法更改此按钮的标题,因为它之前还在视图控制器中初始化。

有人回答这个问题吗?

谢谢

【问题讨论】:

【参考方案1】:

制作另一个后退按钮,然后将其分配给 UINavigationItem 的 backBarButtonItem。

【讨论】:

当视图控制器与后退按钮绑定时,我会这样做,所以当我点击后退按钮时。如果我点击可以工作的后退按钮,它会调用 viewwillappear 方法,但如果我不点击它,它会保留旧语言。【参考方案2】:

您可以更改-(void) viewWillAppear:(BOOL)animated中的标题 如果我没记错的话,当你关闭一个模态视图控制器时应该调用这个方法。

【讨论】:

我尝试了这个解决方案,我调用了我在导航控制器中找到的视图控制器的这个方法 [viewcontroller viewWillAppear:YES] 在视图控制器中我解雇了什么(在 viewWillDisappear 方法中)但没有任何反应跨度> 好的。因此,如果我理解正确,您想切换后退按钮标题的语言,默认情况下应该是后退按钮指向的视图控制器的标题。还是您只是在后退按钮上写了“返回”?我有一些代码可以更改后退按钮的标题。当我找到它时,我会为你挖掘出来并发布它:) 我在后退按钮上有标题“返回”,如果我选择法语,我想要“Retour”,但只有当我点击后退按钮我想要更改的内容时才会更改(比如上面说)。请参阅下面的代码,我在绑定在后退按钮的视图控制器的 viewWillAppear 中使用(因此,当我单击后退按钮时出现的视图控制器是我想要更改的): backBtn = [[UIBarButtonItem alloc] initWithTitle: [self getLocalizedText: @"WORD_IN_GOOD_LANGUAGE_4_BACK_BTN"] 样式:UIBarButtonItemStyleBordered 目标:nil 动作:nil];感谢您的帮助。 当然还有这个,抱歉:[self.navigationItem setBackBarButtonItem: backBtn] 如果我点击就可以了 好的,我找到了。模态页面的视图控制器实际上是我放在主导航控制器中的导航控制器,因此为了更改所有后退按钮,我在模态页面中调用了 self.navigationController.viewControllers 但在模态页面中,它不是主要的我称之为导航控制器,但模式页面的导航控制器:-/我认为在应用程序委托中初始化的导航控制器是应用程序所有页面的self.navigationController ^^对不起,感谢您的帮助

以上是关于必须更改语言后刷新导航返回按钮的标题的主要内容,如果未能解决你的问题,请参考以下文章

如何更改导航栏默认返回按钮

如何更改导航栏上“返回”按钮的标题

更改 Xamarin Forms Android 导航页面颜色(按钮和返回)

苹果手机左上角按钮返回不刷新

在 ios 6/ios 7 兼容应用程序中更改导航返回按钮操作

Chrome Mobile,更改系统导航栏(返回、主页、最近按钮)背景颜色?