使用autoresize的阿拉伯语英语iPhone用户界面?

9to*_*ios 7 iphone xcode autoresize ios autolayout

您好我想将我的整个UI视图转换为阿拉伯语[从右到左] 如果用户从设置更改语言并打开应用程序.

我有以下查询

1)我是否需要为每个创建单独的UI?2)有没有简短的方法来实现这一目标?3)我需要完整的UI转换像镜像,从左侧[幻灯片菜单]是从右侧等... 4)Xcode 8.2有autoresize再次介绍与自动布局我可以这样做没有自动布局?

Has*_*lil 1

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

  2. 是的,有一条捷径,您必须使用本地化。苹果国际化文档

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

  4. auotlayout 与本地化无关。一般来说,最好使用自动布局,否则你必须针对不同的屏幕尺寸进行计算。同样,它与本地化无关。请参阅下面的编辑。

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

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

英语

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

正如你所看到的,表格单元格是由 iOS 自动转换的。除了英语、德语等之外,我刚刚添加了阿拉伯语的国际化。因此,如果您在适当的位置使用 UIKit 控件,那么它会自动转换。但如果你的应用程序是高度定制的并且具有复杂的视图层次结构,那么 iOS 就无能为力,那么你必须自己做。如果你坚持标准和简单的层次结构。那么你不应该太担心它。只需测试一下并亲自看看即可。

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

编辑:这是关于问题 4 的 正确信息苹果文档

使用自动布局可以在没有固定原点、宽度和高度的情况下相对于彼此布置视图,以便在语言或区域设置更改时适当地重新定位和调整视图的大小。自动布局可以为所有语言提供一组 .storyboard 和 .xib 文件。