应用程序interace布局方向从左到右返回从右到左的语言

时间:2015-10-20 03:30:23

标签: ios swift internationalization

我正在尝试开发双语应用程序,并且为了适应用户界面来支持从左到右和从右到左的语言。我已将我的模拟器设置切换为希伯来语,这是一种RTL语言,但它根本不会影响视图的布局(自动布局似乎设置正确),但更重要的是这种方法(在我的UITableViewController中,如下图所示):

 if UIView.userInterfaceLayoutDirectionForSemanticContentAttribute(view.semanticContentAttribute) == UIUserInterfaceLayoutDirection.RightToLeft {
            print("RTL")
        }
        else{
            print("LTR")
        }

打印LTR

不确定方法是否错误,或者我的应用程序的设置是否未正确配置。这是一个截图,以便您可以看到我的示例项目的样子(请参阅状态栏顶部的希伯来语)

我遵循Apple's Docs的国际化支持,但一定错过了(除非这是一个错误)。

使用Swift 2.0& xcode 7.0.1

enter image description here

1 个答案:

答案 0 :(得分:0)

semanticContentAttribute属性是布局方向更改时组件应如何呈现的属性。 默认为未指定。 所以你总是弄错了

  

" LTR"

将您的代码更改为此,您将获得当前布局的正确打印:

if UIView.userInterfaceLayoutDirectionForSemanticContentAttribute(UIUserInterfaceLayoutDirection.Unspecified) == UIUserInterfaceLayoutDirection.RightToLeft {
            print("RTL")
        }
        else{
            print("LTR")
        }