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 按钮的标题?
| 归档时间: |
|
| 查看次数: |
687 次 |
| 最近记录: |