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

And*_*ius 5 localization uinavigationcontroller xamarin.ios ios backbarbuttonitem

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

回标题
尽管有时,如果该标题过长,则后退按钮标题将更改为默认的“后退”。然后看起来像这样:

在此处输入图片说明
这是预期的行为,我对此表示满意。

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

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

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

我应该补充一点,我尝试像这样替换默认的后退按钮:

this.NavigationItem.BackBarButtonItem = new UIBarButtonItem (localizedBackTitle, UIBarButtonItemStyle.Plain, null);
Run Code Online (Sandbox Code Playgroud)

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

小智 5

当回退文本太长时,iOS 会为其提供本地化。你只需要告诉 iOS 你支持这样的语言:

<key>CFBundleLocalizations</key>
   <array>
     <string>en</string>
     <string>ja</string>
   </array>
Run Code Online (Sandbox Code Playgroud)

另请参阅: 如何更改 UITabBarController More 按钮的标题?