2017-04-12 7 views
0

現在、私は英語とアラビア語のローカリゼーションに取り組んでいます。 RTLビューからLTRビューに変更するには、exit(0)を使用しました。これはアプリを停止し、ユーザーは再度開く必要があります。そのために、Appleは自分のアプリケーションを拒否し、App Storeにアップロードします。言語を変更するときにRTLをLTRビューに変更する方法は簡単ですか?

私はhttps://itunes.apple.com/us/app/talabat-for-ipad/id477430407?mt=8を参照しました。これは、アプリケーションを終了せずにビューをシャープにします。

ありがとうございます。

+0

ビューを変更するトリガーとは何ですか?あなたはどのようにあなたのアプリ内からそれを行うことができますか? –

+0

何が問題なのですか?ビューをロードする前に言語をチェックするのが最善です。または、ユーザーが変更された場合は、再起動後に変更がアカウントに反映されるというポップアップを表示する可能性があります。 –

+0

アプリの初期読み込み時に行うことができます。 –

答えて

1

UIView semanticContentAttributeは、exit(0)を呼び出し、ウィンドウのrootViewControllerを再度設定する外観プロキシによって変更できます。

func switchViewControllers(isArabic arabic : Bool){ 

     if arabic { 
      UIView.appearance().semanticContentAttribute = arabic ? .forceRightToLeft : .forceLeftToRight 
      let appDelegate = UIApplication.shared.delegate as? AppDelegate 
      let homeViewController = HomeViewController() 
      appDelegate?.window?.rootViewController = homeViewController 
     } 
} 

これは私のために働きます。希望を助けてくれる

関連する問題