有没有办法根据语言改变应用程序中的布局方向? (RTL如果用户选择阿拉伯语,LTR如果用户选择英语)

时间:2016-09-08 11:02:01

标签: ios objective-c iphone swift xcode

我的应用程序必须支持阿拉伯语(从右到左的方向)和英语(从左到右的方向)语言,我需要根据我的应用程序中的用户选择语言设置UI。

我正在使用用户界面的自动布局。

我的设备语言是英语,我的应用程序用户选择阿拉伯语,所以我的流量,用户界面,动画等应该是从右到左。

2 个答案:

答案 0 :(得分:2)

正如文档所述,iOS会自动执行此操作。

  

如果您使用基本国际化和自动布局,则大多数用户   界面将自动显示为镜像。

您无需对布局进行更改。自动布局只是交换前导和尾随约束。

有关详细信息,请查看文档https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/SupportingRight-To-LeftLanguages/SupportingRight-To-LeftLanguages.html

答案 1 :(得分:0)

根据用户语言选择对UI组件进行子类化并设置文本对齐方式。比如make class MyLabel继承UILabel,你在哪里使用UIlabel在Xib中改变它的类TO MyLabel。对其他组件这样做。

保持前导和尾随约束相等,以便左右差异无法分开。