如何更改缩短的后退标题?

时间:2016-04-07 16:26:49

标签: ios localization uinavigationcontroller xamarin.ios backbarbuttonitem

因此我们知道如果新的视图控制器被推送到导航控制器的堆栈,UINavigationController会自动显示Back按钮。如果未在前一个视图控制器中设置标题,则后退按钮显示默认的“后退”标题。如果我在上一个视图控制器中设置标题,则后退按钮显示该标题。这就是它的样子:

Back title
虽然有时候,如果标题太长,后退按钮标题会更改为默认的“返回”。它看起来像这样:

enter image description here
这是预期的行为,我对它很好。

问题是我的应用程序已本地化为3种不同的语言。我手动本地化所有控制器的标题,所以当后面的按钮显示完整标题时,一切都很好。

当(本地化)标题太长并且它被默认的“后退”标题替换时会出现问题,该标题是英语(或默认语言,在iOS设置中指定)而不是我的应用当前显示的语言。

所以我的问题是,只有当前一个控制器的标题太长时才能手动设置后退按钮标题?

我应该补充一点,我尝试更换默认的后退按钮:

this.NavigationItem.BackBarButtonItem = new UIBarButtonItem (localizedBackTitle, UIBarButtonItemStyle.Plain, null);

它工作正常,但后退按钮标题变为“静态”,并且从不显示前一个控制器的标题。

1 个答案:

答案 0 :(得分:4)

iOS提供后备文本的本地化。您只需要告诉iOS您支持这样的语言:

<key>CFBundleLocalizations</key>
   <array>
     <string>en</string>
     <string>ja</string>
   </array>

另见: How to change UITabBarController More button's title?