我是多语言应用程序的新手。
我在做的是
具有两种语言的应用程序。
英文和阿拉伯文

应用程序的语言取决于设备语言。
(我也想更改此设置,应该从应用内部控制应用语言。不依赖于设备,而是下一个问题)

我有一些控件,例如UIButtonUITextFieldUILabel等。

当我的应用程序为英文时,我从设备的左上角开始给这些控件添加框架,当我的应用程序为阿拉伯文时,我给它们从设备的右上角开始。 (因为阿拉伯语是从右至左书写的)

我的问题是
为此,我需要做一些额外的工作,
即检查设备语言,然后设置控制框架。
在每个视图上,我可能都具有“ n”个控件,并且从我的角度来看,给所有控件提供两种语言的框架大小似乎并不好。

我可以使用Xcode本身进行任何操作。
表示我需要提供默认语言(例如英语)的框架,如果我的设备语言更改为阿拉伯语,则控件的框架将自动从右向左镜像。

以下屏幕可能会给您一些提示。
(我为检查设备语言的所有控件使用了不同的框架)

任何帮助都可以接受。

提前致谢。
抱歉,如果已经提出问题。但是我什么也没找到。
如果找到任何人,那么链接是欢迎:)

最佳答案

Supporting Right-to-Left Languages


  在显示从右到左的语言时,应该对用户界面进行镜像。如果您使用基本国际化和自动版式,则大多数用户界面将自动为您显示镜像。文本方向从右到左更改,电话号码和国家/地区代码始终从左到右。用户界面中的某些视图和控件可能不会自动更改方向,而您可以通过编程方式进行修复。




您正在寻找的这些功能称为自动布局,这是几年前由Apple推出的。它可以处理您需要的许多事情,但是还有很多事情要做。上面的指南将指导您完成必要的步骤。



iOS 9.0更新:


  iOS 9全面支持从右到左的语言,这使您更容易提供翻转的用户界面。例如:
  
  
  标准UIKit控件会在从右到左的上下文中自动翻转。
  UIView定义了语义内容属性,这些属性使您可以指定特定视图在从右到左的上下文中应如何出现。
  UIImage添加了imageFlippedForRightToLeftLayoutDirection方法,使在适当的情况下以编程方式轻松翻转图像变得容易。
  要了解有关提供翻转用户界面的更多信息,请参阅支持从右到左语言。

10-08 04:53