Xcode LTR 和 RTL 文本混合来自数据库

Posted

技术标签:

【中文标题】Xcode LTR 和 RTL 文本混合来自数据库【英文标题】:Xcode LTR and RTL text mixed from database 【发布时间】:2017-12-08 05:49:51 【问题描述】:

当我在这里android studio question and answerAndroid studio question and answer尝试在 Android Studio 应用中实现相同的场景时遇到了同样的问题

现在我在 Xcode 中遇到了同样的问题,我使用数据库中的数据并在文本视图中显示它,每当列表视图项以 LTR 文本开头时,即使有 RTL 字,该行的其余部分也会正确显示在它的中间。但每当一个项目以 RTL 文本开头时,它会将整个项目抛给 RTL,而不仅仅是 RTL 单词。

有什么方法可以强制视图始终保持 LTR,即使它以 RTL 单词开头,就像上面链接中标记的答案一样?

Bidi 代码只是显示出来,好像它不知道如何处理这些代码。 例子:

我想显示以下内容:

‘אנא אנא - Ek 是,曾经,sal wees Wie Ek 是,曾经,sal wees。”

但它显示为:

”.Ek 是,曾经,sal wees Wie Ek 是,曾经,sal wees - אנא אנא‘

当希伯来文文本介于其他普通文本之间时,它很好:

‘他说 אנא אנא - 我是,曾经,将是我是谁,曾经,将是。”

【问题讨论】:

【参考方案1】:

如果有人遇到相同问题的问题,我会得到以下答案。在显示数据库中的字符串后将其添加到视图控制器:

[_content appendString:@" \u200E"] ;

【讨论】:

以上是关于Xcode LTR 和 RTL 文本混合来自数据库的主要内容,如果未能解决你的问题,请参考以下文章

HTML 选择和选项混合方向 (ltr & rtl)

如何在颤动中显示文本以使 RTL 语言右对齐而 LTR 左对齐?

在TextView中使用locale(ltr / rtl)作为重力

在不同的语言RTL和LTR中组合两个字符串

TextView 提示弄乱了 RTL 重力

Xcode Storyboard - 使用 font-awesome 制作文本 rtl