当我需要确定rect包装我的文本时
let rect = NSString(string: name).boundingRect(with: CGSize(width: frame.width, height: 40), options: NSStringDrawingOptions.usesLineFragmentOrigin, attributes: [NSFontAttributeName: UIFont.systemFont(ofSize: 14)], context: nil)
我遇到了 .usesLineFragmentOrigin 字符串绘图选项。所以我不明白这是什么选项,更不知道为什么某些人使用 NSStringDrawingOptions.usesFontLeading.union(NSStringDrawingOptions.usesLineFragmentOrigin)。当我在寻找答案时,我被引导到Confused by NSStringDrawingOptions item meaning讨论,所以从第一个答案我得出这个选项也出现在NSAttributedString()的实例方法draw(with:options:context :)中,我得到了为什么我们在那里需要它。但是我没有在String的boundingRect函数中得到它的概念或意图。甚至更多我试着考虑如何应用NSAttributedString()的实例方法draw(with:options:context :)。所以我们有一个NSAttributedString()类,它有一个方法draw(with:options:context :)。我以为我可以创建属性字符串,然后调用方法draw(at :)并指定rect。但没有任何效果。如果有人知道,我怎么能使用NSAttributedString()s draw(with:options:context :)函数?这是一个选项.usesLineFragmentOrigin构成了boundRect函数的点,为什么某些人使用 NSStringDrawingOptions.usesFontLeading.union(NSStringDrawingOptions.usesLineFragmentOrigin)?谢谢!