ios - 使用自动调整大小的阿拉伯语英语 iPhone 用户界面?

标签 ios iphone xcode autolayout autoresize

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

我有以下问题

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

最佳答案

  1. 不,无论语言如何,您都只能创建一个 UI。

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

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

  4. auotlayout 与本地化无关。 通常,最好使用 autolayout,否则您必须针对不同的屏幕尺寸进行计算。 同样,它与本地化无关。请参阅下面的编辑。

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

重新编辑: 所以这是我的英文应用程序。而且我的应用不支持从右到左的语言

english

现在如果我添加,说从右到左的语言,比如阿拉伯语: arabic

如您所见,表格单元格由 iOS 自动转换。我刚刚在英语、德语等之外添加了阿拉伯语的国际化。所以如果你在适当的地方使用 UIKit 控件,那么它会自动转换。但是,如果您的应用程序是非常定制化的并且具有复杂的 View 层次结构,那么 iOS 将无能为力,那么您必须自己动手。如果您坚持标准和简单的层次结构。那么你不应该太担心它。只需对其进行测试并亲自查看即可。

因此,例如在我的应用中,我所要做的就是将字符串翻译成从右到左的语言。

编辑: 这是正确的信息apple doc关于问题 4

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.

关于ios - 使用自动调整大小的阿拉伯语英语 iPhone 用户界面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41366703/

相关文章:

ios - 如何在 Xcode 中使用 CMake 添加 Copy Bundle Resources 阶段?

iphone - 以相同的名称将 iPhone 和 iPad 应用程序提交到商店

iphone - UIPopoverController 没有箭头?

objective-c - 如何使用 xcode 将快照分成多个部分,以便让用户与每个部分进行交互?

iphone - 带有 TextField 的 UITableViewCell 并检查输入

ios - 如果我的 iPhone 当时没有信号,我会错过应用程序通知吗

ios - 在应用程序后台观察 NSDate 或 Time 以播放自定义声音作为警报

ios - 创建 spritenodes 时 Swift 游戏滞后

ios - 将 KVC 与单例模式结合使用

ios - 如何在 Objective-c 中将日期格式设置为 24 小时制?