应用程序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
答
的semanticContentAttribute
属性是组件应该如何呈现自身的布局方向的变化时。 默认为未指定。 所以你总是假的,
“LTR”
你的代码改成这样,你会得到正确的打印当前布局:
if UIView.userInterfaceLayoutDirectionForSemanticContentAttribute(UIUserInterfaceLayoutDirection.Unspecified) == UIUserInterfaceLayoutDirection.RightToLeft {
print("RTL")
}
else{
print("LTR")
}
会尝试一下,感谢@ yitschak – royherma