【发布时间】:2014-09-23 07:41:36
【问题描述】:
我正在尝试使用boundingRectForGlyphRange 方法计算单个字形的矩形。一切正常,除了它总是返回矩形,好像字体大小是 12。尽管我在属性字符串中将它设置为 20。
let font = UIFont.systemFontOfSize(20)
var attributedString = NSMutableAttributedString(string: text)
let range = NSRange(location: 0, length: countElements(text))
attributedString.addAttribute(NSFontAttributeName, value: font, range: range)
let textContainer = NSTextContainer()
textContainer.size = CGSize(width: 300, height: 100)
let layoutManager = NSLayoutManager()
let textStorage = NSTextStorage(string: attributedString.mutableString)
layoutManager.textStorage = textStorage
layoutManager.addTextContainer(textContainer)
let rect = layoutManager.boundingRectForGlyphRange(NSRange(location: 0, length: 1), inTextContainer: textContainer)
如何让它返回 rect 的文本大小 20 而不是 12?
【问题讨论】: