iOS 应用程序不会更改为 RTL 语言
Posted
技术标签:
【中文标题】iOS 应用程序不会更改为 RTL 语言【英文标题】:iOS app does not change to RTL language 【发布时间】:2017-08-28 09:31:57 【问题描述】:我想在设备上以从右到左的布局测试我的 ios 应用。当我在 Xcode 中设置“Edit Scheme > Application Language > Right-To-Left Pseudo Language”并在设备上运行时,布局被翻转为 RTL。但是,如果我在 Xcode 中保留“系统语言”,然后在 iPhone 设置中将系统语言更改为希伯来语(常规 > 语言和地区 > iPhone 语言 > 希伯来语),我的应用程序不会以 RTL 模式显示(所有其他应用程序都会)。
当我将 iPhone 的语言更改为希伯来语时,为什么我的应用布局没有更改为 RTL?
我使用的是 Xcode 8.3。
【问题讨论】:
【参考方案1】:我发现了问题所在。我需要在 Project > Info 部分添加希伯来语国际化。我在设备上重新运行后,所有布局都出现了翻转(即从右到左的布局)。
【讨论】:
@Evgenii 还有其他技巧吗?我在 Xcode 9.2 中尝试了您的建议,但仍然遇到此问题。【参考方案2】:如果是文本对齐请尝试以下方法
首先尝试获取布局方向
if ([UIView userInterfaceLayoutDirectionForSemanticContentAttribute:view.semanticContentAttribute] == UIUserInterfaceLayoutDirectionRightToLeft)
然后如下设置文本对齐方式。
enter code here
[[(NSMutableParagraphStyle *)paraStyle setAlignment:NSNaturalTextAlignment];
【讨论】:
以上是关于iOS 应用程序不会更改为 RTL 语言的主要内容,如果未能解决你的问题,请参考以下文章