【问题标题】:Forcing label text to left-to-right while including some right-to-left text强制标签文本从左到右,同时包含一些从右到左的文本
【发布时间】:2016-02-01 20:55:02
【问题描述】:

我有一个字符串 د.إ. 代表货币符号,我从 NSLocale(localeIdentifier: "ar_AE").objectForKey(NSLocaleCurrencySymbol) as! String 获得

在我的UILabel 中,当我将文本设置为theSymbol + aNumber 时(我什至不能在这里写下来,它也会被反转),它显示为aNumber + theSymbol,因为该符号很可能是由字符串组成的应该从右到左显示。

无论符号是什么,如何强制我的标签从左到右显示?

【问题讨论】:

  • 您是在为 UILabel 设置文本的方向,还是说它是从字符串源执行的?你不能只编程aNumber + theSymbol,从而吐出相反的东西吗?
  • 我没有在任何地方设定任何方向。这是默认行为。问题是我得到了一些正常的 LTR 符号,例如 $、€、... 如果我将文本设置为 aNumber + theSymbol 它会反转它不会为 LTR 改变它

标签: ios swift


【解决方案1】:

我找到了让它工作的方法:

label.text = "\u{202A}" + symbol + "\u{202C}" + "1234"

\u{202A} 用于从左到右嵌入,\u{202C} 用于 Pop-Directional-Formatting。

Here是一篇关于双向文本的好文章

【讨论】:

    【解决方案2】:

    我认为This 是答案。在您的货币符号前添加 \u{200E}。我不明白,但它有效。

    【讨论】:

    • 我以前看到过,但是当我这样做时它不起作用label.text = "\u{200E}" + symbol + "1234"
    • 您是否尝试过将 `"\u{200E}\(symbol)1234" 或其他一些写在一个字符串中而不是使用 + 的组合?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 2022-01-18
    • 2018-01-05
    • 2013-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多