ios - 更改本地化语言后快速更新 Storyboard方向

标签 ios swift language-switching

我是 Swift 新手,当用户单击阿拉伯语按钮时,我尝试将应用程序 View 方向从 LTR 更改为 RTL。 到目前为止,我有下面的代码,并且所有文本都正确更改,除非方向。仅当我关闭并重新打开应用程序时,该方向才有效。 请帮忙

@IBAction func goToLanguage(sender: AnyObject) {

    let availableLanguages = Localize.availableLanguages()

    actionSheet = UIAlertController(title: nil, message: "Switch Language", preferredStyle: UIAlertControllerStyle.ActionSheet)

    for language in availableLanguages {
        let displayName = Localize.displayNameForLanguage(language)
        let langString = language as String

        if(langString != "Base"){

            let languageAction = UIAlertAction(title: displayName, style: .Default, handler: {
                (alert: UIAlertAction!) -> Void in
                Localize.setCurrentLanguage(language)

                NSUserDefaults.standardUserDefaults().setObject([language], forKey: "AppleLanguages")
                NSUserDefaults.standardUserDefaults().synchronize()

                let delegate = UIApplication.sharedApplication().delegate as! AppDelegate
                delegate.refreshEverything()

            })
            actionSheet.addAction(languageAction) 
        }
    }
    let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: {
        (alert: UIAlertAction) -> Void in
    })

    actionSheet.addAction(cancelAction)
    self.presentViewController(actionSheet, animated: true, completion: nil)

}

最佳答案

您可以在不关闭应用程序的情况下强制 UIView 方向。 对于阿拉伯语,添加以下代码来更改方向:

UIView.appearance().semanticContentAttribute = .forceRightToLeft

对于法语或英语使用:

UIView.appearance().semanticContentAttribute = .forceLeftToRight

关于ios - 更改本地化语言后快速更新 Storyboard方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40087905/

相关文章:

javascript - 如何使用 <ul> 列表而不是 <select> 下拉列表作为语言切换器?

ios - iOS Web 应用程序中图像的内存消耗

iOS 通用快速关闭

ios - 在自定义 UITableView 中--类型 'AnyObject->()' 的值没有成员 'tag' 错误

drupal 语言切换器不知道别名?切换到节点/XX/而不是LANG/文本

php - 使用 PHP 在网站上切换语言

iOS:与sql数据库通信

ios - 如何在 kAudioUnitSubType_Reverb2 上设置混响级别和时间

ios - 以编程方式将 View 对象定位在其最近邻居的下方

ios - 使用 TwitterKit 获取用户的完整信息