2015-01-14 19 views
8

2 dil, İngilizce ve Arapça destekleyen bir uygulama var. İngilizce sağa sola & Arapça sağdan sola.userInterfaceLayoutDirection nasıl değiştirilir

LanguageViewController adında bir denetleyicim var. İçinde iki düğme var: Arapça & İngilizce. Bir kullanıcı "Arapça" yı tıkladığında, Uygulamamın dili İngilizce’den Arapça’ya değişir. Projemde otomatik düzen kullanıyorum.

Dil değiştiğinde, nesnemin konumunun aynı anda yansıtılmasını beklerim. ancak Uygulamamı kapatıp tekrar çalıştırdığımda & değil, nesnenin konumu doğru olarak yansıtılıyor.

Soru: How to force "Respect Language Direction" from RTL to LTR and vice versa @Raz aynı problemi yaşadı. ama yeni bir storyboard oluşturmak istemiyorum. Dil En'dan Ar'a değiştirildiğinde ve Uygulamadan çıkınca, userInterfaceLayoutDirection değeri UIUserInterfaceLayoutDirectionLeftToRight ile UIUserInterfaceLayoutDirectionRightToLeft arasında değişir. userInterfaceLayoutDirection değerini görmek için NsLog'u kullandım. "Arapça" düğmesine bastığımda değer değişmez, tekrar çalıştırdığımda, değer değiştirilir. Sorum, userInterfaceLayoutDirection'u yeni storyboard yüklemeden ve yüklemeden değiştirmeye nasıl zorlanır?

cevap

1

Uygulamanın tercih edilen dilini düğmelerinizle tam olarak nasıl değiştiriyorsunuz?

Bir kullanıcının appInterfaceLayoutDireksiyonu başlatma zamanında bir kez ayarlanır. Bir uygulama çalışırken bunu değiştirmek için şu anda bir yolu yoktur.

+0

böylece. Kullanıcı uygulama ayarımda dili değiştirdiğinde ne yapmalı (ios ayarı değil). Uygulamamı bırakıp tekrar çalıştırmaya zorlamak istemiyorum. Kullanıcı uygulamamdan çıkmazsa, düğmeler ve etiketler için kısıtlama yönü değişmez. ve bu benim durumumda değil. –

+0

Şu anda başarmaya çalıştığınız şeyi yapmanın bir yolu yok. – lensovet

+0

Merak etme, kullanıcıların istediği bir şeyi değiştirerek uygulama dilinde mi? Neden her zaman tercih edilen sistem çapında bir dilde çalışmıyorsunuz? – lensovet