我想要一个与Android相似的功能:
TextPaint.getTextWidths(String text, int index, int count, float[] widths);
基本上它的作用是 - 对于给定的字体,它将返回该字符串的所有单个字符宽度。我不需要范围(索引/计数),因为我将始终为完整字符串执行此操作。
以下实际上是iOS函数的Java RoboVM绑定,但是我应该很容易理解我正在使用的类以及如何使用它们。我知道如何获取字符串的边界框,就像这样;
NSString nsString = new NSString(string);
CGSize dim = nsString.getSize(uiFont);
不幸的是,解决方案不像通过字符串中的字符相互关联那么简单,因为这会给复杂脚本(例如阿拉伯语)带来无效结果,其中字符外观和大小也依赖于它的兄弟。虽然Android的getTextWidths()
处理了这个问题,所以我希望iOS上有类似的功能。
谢谢!