Wie wir wissen, zeigt UINavigationController automatisch die Schaltfläche Zurück an, wenn der neue Ansichts-Controller auf den Stack des Navigationscontrollers geschoben wurde. Wenn im vorherigen Ansichts-Controller kein Titel festgelegt wurde, zeigt die Zurück-Schaltfläche den Standardtitel "Zurück" an. Wenn ich den Titel im vorherigen Ansichts-Controller einstelle, zeigt die Zurück-Schaltfläche diesen Titel an. So sieht es aus:Wie ändere ich den Titel der verkürzten Taste?
Auch wenn dieser Titel manchmal zu lang ist, ändert sich der Titel der Rückschaltfläche in den Standard "Zurück". Es sieht dann wie folgt aus:
Das Verhalten erwartet wird und ich mit ihm gut geht.
Das Problem ist, dass meine App in 3 verschiedenen Sprachen lokalisiert ist. Ich lokalisiere alle Controller-Titel manuell, wenn der vollständige Titel auf der Zurück-Schaltfläche angezeigt wird, ist alles in Ordnung.
Das Problem tritt auf, wenn (lokalisierter) Titel zu lang ist und er durch den Standardtitel "Zurück" ersetzt wird, der in Englisch ist (oder Standardsprache in iOS-Einstellungen) und nicht in der Sprache, die meine App derzeit anzeigt.
Also meine Frage ist, wie kann ich manuell Button-Titel nur zurückzusetzen, wenn vorherige Controller-Titel zu lang ist?
sollte ich hinzufügen, dass ich versuchte, Standardschaltfläche wie das Ersetzen zurück:
this.NavigationItem.BackBarButtonItem = new UIBarButtonItem (localizedBackTitle, UIBarButtonItemStyle.Plain, null);
Es funktioniert gut, aber wieder Schaltfläche Titel wird ‚statisch‘ und zeigt nie den Titel des vorherigen Controller.
Wenn iOS nicht richtig den „Zurück“ Etikett der Zurück-Taste lokalisierende wird, wenn Ihre Anwendung richtig eingestellt ist Zur Lokalisierung würde ich einen Fehlerbericht mit Apple einreichen. Fügen Sie eine Beispielanwendung hinzu, die das Problem veranschaulicht. https://bugreport.apple.com – rmaddy
@rmaddy iOS ist "Back" Label richtig lokalisieren. Das Problem besteht darin, dass die Standardsprache, die Benutzer in ihrer Einstellungs-App festlegen, möglicherweise von der Sprache in meiner App abweicht. Ich zeige Bildschirm, wo Benutzer Sprache in meiner eigenen App ändern können. Es ist die Voraussetzung, die ich habe. – Andrius
Das ist anders. Sie verwenden keine Standardlokalisierung, es ist also wirklich kein Fehler. – rmaddy