【问题标题】:App interace layout direction returning left-to-right for right-to-left language应用程序界面布局方向从右到左返回从右到左的语言
【发布时间】:2015-10-20 03:30:23
【问题描述】:

我正在尝试开发一个双语应用程序,并为此调整 UI 以支持从左到右和从右到左的语言。我已经将我的模拟器设置切换为希伯来语,这是一种 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

【问题讨论】:

    标签: ios swift internationalization


    【解决方案1】:

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

    “LTR”

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

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

    【讨论】:

      猜你喜欢
      • 2018-08-16
      • 1970-01-01
      • 1970-01-01
      • 2021-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 2013-10-02
      相关资源
      最近更新 更多