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

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

问题描述:

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

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

打印LTR

不知道的方法是错误的,或者如果我的应用程序的设置未正确配置。这里有一个截图,可以看到我的示例项目的样子(请参阅状态栏上的希伯来语)

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

使用夫特2.0 &的xcode 7.0.1

enter image description here

semanticContentAttribute属性是组件应该如何呈现自身的布局方向的变化时。 默认为未指定。 所以你总是假的,

“LTR”

你的代码改成这样,你会得到正确的打印当前布局:

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

会尝试一下,感谢@ yitschak – royherma