2016-10-12 27 views
1

2言語の英語とアラビア語のサポートを提供する必要があるアプリケーションを開発しました。アプリケーションでは、ユーザーが英語からアラビア語へ、またはその逆に言語を変更できる設定画面があります。iOS iOS 10のアラビア語ローカライゼーションに関する問題

詳細については、同じスクリーンショットをご覧ください。

そして、私はUIを更新するためにstoryboardをリフレッシュしていたlocalizationを実行するコード。 iOS 8からiOS 9のよう

- (void)updateLanguage { 

    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"MainNavigationController"]; 
    [[UIApplication sharedApplication].keyWindow setRootViewController:vc]; 
} 

、それが正常に動作し、UIを更新したがiOS 10ではUIを更新しません。詳細については、下記のスクリーンショットをご覧ください。私はiOS 10に更新するためのUIを実現するにはどうすればよい

以下は、iOS 10に更新する必要がある適切なUIです。

注:アプリケーションは、背景から前景に来たとき、それ が正常に動作しています。

+0

? – vaibhav

+0

実際には、最後のスクリーンショットでおそらく表示されているUIはiOS 10では更新されていません。 –

+0

HK、ナビゲーションコードが機能していないか、またはあなたの 'uilables'が言語を更新していませんか? – vaibhav

答えて

1

UISemanticContentAttributeを使用して言語の選択に基づいてレイアウトを更新する方法を見つけました。私はNSUserDefaultsで現在の言語の選択を保存し、それに応じてレイアウトを更新したよう

オブジェクティブC

if(IS_OS_10_OR_LATER) { 

    if ([[[NSUserDefaults standardUserDefaults] valueForKey:@"Ln"] isEqualToString:@"Ar"]) 
     [[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceRightToLeft]; 
    else 
     [[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceLeftToRight]; 
} 

SWIFTあなたが直面しているもの一部PROB 3.0

UIView.appearance().semanticContentAttribute = .forceLeftToRight 
+0

日時設定は可能ですか? – user3182143

+0

私はあなたを正しく取得していない、詳細を教えてください。 –

+0

私はdatepickerを持っています。アラビア語に変更すると、date pickerの日付と時刻はdatepicker.Iの中で右から左に変更する必要があります。上記のコードを使用しますが、日付と時刻はdatepickerの右から左に変化しません。 – user3182143

関連する問題