我正在尝试解决这个问题一个星期,并且我已经测试了我脑海中的很多想法,但我无法正确计算NSString
自定义字体的大小。
我有UITextView
一个包含文本和一个UIView
在其上绘制行号的UITextView
. 问题是NSString
UIKit
Additions 在计算NSString
.
在图片中,您可以在第 7 行清楚地看到,这是在渲染时带有换行符的行UITextView
,之后所有行都受到影响。
我使用的字体是Adobe Source Code Pro。
我已经尝试了NSString
UIKit
Additions 中的所有方法,但均未成功。
sizeWithFont
sizeWithFont:forWidth:lineBreakMode:
sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:
我还尝试用四个空格替换字符串中的所有制表符,它有帮助,但它仍然不能一直工作。对于某些行,它有帮助,但对于某些行则没有。
任何建议如何NSString
正确计算高度?CoreText
也许?
一张小纸条。我也尝试通过使用来自UITextInput
协议的几何命中测试方法来解决这个问题,当它们工作时,模拟器上的 cpu 负载是 100%,所以在真实设备上它会杀死应用程序,特别是如果我加载大约 1500+ 的文件代码行。
这是我用于LineNumbersView.m的代码要点。