我们如何测量 Cocoa 中文本的可见边界?

trs*_*rss 5 macos fonts cocoa text objective-c

下面列出的方法都没有给出 Cocoa 中文本的精确可见边界。我们如何获得它?

  • NSStringboundingRectWithSize:options:attributes:
  • NSAttributedStringboundingRectWithSize:options:
  • NSLayoutManagerusedRectForTextContainer:

为了说明这一点,下面是使用上面第二种方法的结果的屏幕截图,如本示例代码片段所示。

trs*_*rss 1

这是我编写的解决方案。非常欢迎任何改进建议。
代码片段:http://pastebin.com/qJMKwvau
截图: http: //ScrnSht.com/jskyqs