ios swift如何在更改语言时将RTL更改为LTR视图?

时间:2017-04-12 12:35:35

标签: ios iphone swift localization app-store

目前,我正在使用英语和阿拉伯语的本地化。 要从RTL更改为LTR视图,我使用exit(0)这将停止应用程序,用户必须再次打开它。为此,Apple在上传到应用商店时拒绝了我的申请。

我提到了https://itunes.apple.com/us/app/talabat-for-ipad/id477430407?mt=8,它会在不退出应用的情况下查看视图。

提前致谢。

1 个答案:

答案 0 :(得分:6)

您可以使用外观代理更改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
         }
}