2017-03-27 3 views
1

Lors d'un changement de langue dans l'application, j'ai besoin de modifier la disposition de l'application en fonction de la langue sélectionnée.LTR vers RTL dans iOS Application [sans fermeture d'application]

Par exemple, la langue de base est l'anglais; lorsque l'utilisateur le change en arabe, j'ai besoin de changer l'interface utilisateur selon RTL.

Y at-il un paramètre spécifique dans le storyboard ou dans ViewController pour atteindre LTR et RTL?

Répondre

0

Pour gérer RTL et LTR sans fermer l'application Swift 3.0.

// RTL

UIView.appearance(). SemanticContentAttribute = .forceRightToLeft UINavigationBar.appearance(). SemanticContentAttribute = .forceRightToLeft

// applicationNavigationController est par défaut d'application Navigation Controller si let applicationNavigationController = storyboard? .instantiateViewController (withIdentifier: "root") { UIApplication.shared.keyWindow? .rootViewController = applicationNavigationContr Oller

// LRT

UIView.appearance() semanticContentAttribute = .forceLeftToRight UINavigationBar.appearance() semanticContentAttribute = .forceLeftToRight si laissez applicationNavigationController = story-board .instantiateViewController (de withIdentifier:..? "root") { UIApplication.shared.keyWindow? .rootViewController = applicationNavigationController

// Conseils supplémentaires lors d'un accord avec MMDrawer.

AppDelegate

var centerContainer: MMDrawerController?

Implémentez le code MMDrawer dans un ViewController.

laissez appdelegate = UIApplication.shared.delegate comme! AppDélégué

let mainStoryboard:UIStoryboard=UIStoryboard(name: "Main", bundle: nil) 

    let centerViewController = mainStoryboard.instantiateViewController(withIdentifier: "HomeViewController") as! HomeViewController 
    let leftViewController = mainStoryboard.instantiateViewController(withIdentifier: "LeftSideMenuViewController") as! LeftSideMenuViewController 



    let leftSideNav = UINavigationController(rootViewController: leftViewController) 
    let centerNav = UINavigationController(rootViewController: centerViewController) 


    appdelegate.centerContainer = MMDrawerController(center: centerNav, leftDrawerViewController: leftSideNav) 

    appdelegate.centerContainer?.maximumLeftDrawerWidth = 250.0 


    appdelegate.centerContainer!.openDrawerGestureModeMask = MMOpenDrawerGestureMode.panningCenterView 
    appdelegate.centerContainer!.closeDrawerGestureModeMask = MMCloseDrawerGestureMode.all 

    ////////// 
    self.navigationController?.pushViewController(appdelegate.centerContainer!, animated: false)