UI 阿拉伯语英语 iPhone 使用自动调整大小?

UI for arabic english iPhone using autoresize?

您好,我想将我的整个 UI 视图转换为阿拉伯语 [from Right to left] 如果用户从设置中更改他的语言并打开应用程序。

我有以下查询

1) 我需要为每个创建单独的 UI 吗? 2)有没有什么捷径可以实现这一目标? 3) 我需要完整的 UI 像从左侧 [幻灯片菜单] 到右侧的镜子一样转换等... 4) Xcode 8.2 再次引入自动调整大小自动布局我可以在没有自动布局的情况下执行此操作吗?

  1. 不,你只创建一个UI,不管语言。

  2. 是的,有一个捷径,您必须使用本地化。 apple doc for internationlization

  3. UI 转换由 iOS 完成(仅适用于 uikit 控制器。请参阅下面的编辑)

  4. auotlayout与本地化无关。一般来说,使用autolayout比较好,否则你必须计算不同的屏幕尺寸。 同样,它与本地化无关。请参阅下面的编辑。

编辑:如果您想镜像自己的视图,例如 uiimage 和 uilabel。那么你必须自己用自动布局或框架来做。如果您使用的是 uinavigation 或 tabbarcontroller,这些控制器将被 iOS 镜像。所以你必须自己处理内容视图。 您可以生成不同的约束并在运行时相应地安装它。但如果您的视图非常复杂,那么您应该设计 2 个不同的故事板,一个用于 left-to-right,一个用于 right-to-left,并在应用程序启动期间加载适当的故事板。

re-edit: 所以这是我的英文应用程序。我的应用不支持 right-to-left 语言

现在,如果我添加,说 right-to-left 阿拉伯语之类的语言:

如您所见,table 个单元格由 iOS 自动转换。我刚刚在英语、德语等之外添加了阿拉伯语的国际化。所以如果你在适当的地方使用 UIKit 控件,它会自动转换。但是,如果您的应用程序是非常自定义的并且具有复杂的视图层次结构,那么 iOS 将无济于事,那么您必须自己做。如果您坚持标准和简单的层次结构。那么你不应该太担心它。自己测试一下看看吧。

所以在我的应用程序中,我所要做的就是将字符串翻译成 right-to-left 语言。

编辑: 这是关于问题 4

的正确信息 apple doc

Use Auto Layout to lay out your views relative to each other without fixed origins, widths, and heights, so that views reposition and resize appropriately when the language or locale changes. Auto Layout makes it possible to have one set of .storyboard and .xib files for all languages.