天天看点

iOS 多语言RTL 方向布局

    在做国际化适配的时候,有时候会遇到一些坑,大部分国家的书写以及排列习惯都是从左往右,是LTR方向布局,而对于一些阿拉伯国家,文字的书写以及展示的顺序都是从右往左方向的。

    做个实验,建一个简单的工程,设置工程支持阿拉伯语,并在英文环境下运行

iOS 多语言RTL 方向布局

结果:

iOS 多语言RTL 方向布局

把模拟器改成阿拉伯语环境下再次运行:

iOS 多语言RTL 方向布局

有些需求可能是不管所有的语言都要求统一的布局,但是必须文本支持多语言,基于这种需求,解决方法如下:

(1)如果使用storyboard布局的可以在view选择这样的选项:

iOS 多语言RTL 方向布局

(2)如果使用的是代码布局,

[UIView appearance].semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;