【发布时间】:2019-01-12 15:39:11
【问题描述】:
在我的应用程序中,我在 UITextView 的文本行下绘制自定义背景。为此,我使用NSLayoutManager 的boundingRect(forGlyphRange:in:) 方法。它适用于 LTR 语言(拉丁文、西里尔文、中文等):
但是,如果我将它用于 RTL 文本(希伯来语、波斯语等),该方法会返回错误的边界矩形(请参阅左边缘的填充):
这种额外填充的原因是什么以及如何获得正确的边界矩形?
这是一个演示:https://www.dropbox.com/s/bpsr7bhhd7gqm2z/hebrew.zip?dl=0
UPD:似乎这个函数对所有使用的字母都给出了错误的结果,我不知道它是如何被调用的,变异字符。以梵文为例:
【问题讨论】:
-
我尝试运行我们的解决方案项目,并且可以让它与您的解决方案屏幕截图相匹配。您确定您的解决方案项目是正确的吗? Screenshot
标签: ios iphone swift localization hebrew