Ich habe eine App, die zwei Sprachen unterstützt, Englisch und Arabisch. Englisch ist von links nach rechts & amp; Arabisch ist von rechts nach links.
Ich habe einen Controller namens LanguageViewController
. Es gibt zwei Tasten: Arabisch & amp; Englisch. Wenn ein Nutzer auf "Arabisch" klickt, ändert sich die Sprache meiner App von Englisch auf Arabisch. Ich verwende das automatische Layout in meinem Projekt.
Wenn die Sprache geändert wird, erwarte ich, dass die Position meines Objekts zur gleichen Zeit gespiegelt wird. aber es geht nicht & amp; Wenn ich meine App schließe und erneut laufe, wird die Position des Objekts korrekt gespiegelt.
In Frage: Wie erzwinge "Respect Language Direction" von RTL zu LTR und umgekehrt @Raz hatte das gleiche Problem. aber ich möchte kein neues storyBoard erstellen. Wenn die Sprache von En
in Ar
geändert wird und Sie die App beenden, ändert sich der Wert von userInterfaceLayoutDirection
von UIUserInterfaceLayoutDirectionLeftToRight
in UIUserInterfaceLayoutDirectionRightToLeft
. Ich habe NsLog
verwendet, um den Wert von userInterfaceLayoutDirection
zu sehen. Wenn ich den "Arabisch" -Knopf drücke, ändert sich der Wert nicht, aber wenn ich erneut lese, wird der Wert geändert. Meine Frage ist, wie man userInterfaceLayoutDirection
erzwingen kann, ohne zu beenden und ohne neues Storyboard zu laden?
Tags und Links objective-c user-interface ios right-to-left autolayout