iOS 应用程序,我们要显示来自服务器的新闻。使用 UIlabel
问问题
3072 次
5 回答
12
Apple 正在使用“Unicode 双向算法”来呈现文本。如果字符串中的第一个字符是 LTR,则算法将字符串其余部分的表示视为 LTR。如果您事先知道字符串 RTL 的语言,您可以使用 unicode \u200F 和 \u202c 来强制 RTL 对齐。
Objective-C
[NSString stringWithFormat:@"\u200F%@\u202c", @"your string with RTL content"]
[NSString stringWithFormat:@"\u200E%@\u202c", @"your string with LTR content"]
迅速
String(format: "\u200F%@\u202c", "your string with RTL content")
String(format: "\u200E%@\u202c", "your string with LTR content")
于 2018-02-14T13:41:04.530 回答
4
这是 swift 5.2 的@Pichirichi 解决方案:
"\u{200F}\("your string with RTL content")\u{202c}"
"u200E\("your string with LTR content")\u{202c}"
于 2020-04-18T08:12:52.410 回答
2
"arabic text \u200E english text \u200F arabic text \u200E english text"
解决了问题
于 2016-05-28T14:59:35.833 回答
1
斯威夫特 5:
extension String {
func forceUnicodeRTL() -> String {
return "\u{200F}\(self)\u{200E}"
}
}
于 2021-06-19T07:06:51.037 回答
0
这里的一些信息很有帮助:
[[self label] setTextAlignment:NSTextAlignmentNatural];
AutoLayout + RTL + UILabel 文本对齐
但有时它仍然无法按预期工作
于 2016-05-28T10:18:21.273 回答