NSRangePointer 错误 Swift

Nit*_*ish 2 nsattributedstring ios swift swift3

这就是我想要实现的目标:

var range : NSRange? = NSMakeRange(0, (attributedString?.length)!)
attributedString?.attribute(NSFontAttributeName: UIFont.fontNames(forFamilyName: "OpenSans-Regular"), at: 1, effectiveRange: &range) 
Run Code Online (Sandbox Code Playgroud)

在第二行,我收到一个编译时错误:

参数标签 '(NSFontAttributeName:, at:, EffectiveRange:)' 不匹配任何可用的重载

rma*_*ddy 6

你需要:

var range = NSRange(location: 0, length: attributedString?.length)
let font = attributedString?.attribute(NSFontAttributeName, at: 1, effectiveRange: &range)
Run Code Online (Sandbox Code Playgroud)

第一个参数只是您要检查的属性。您没有传入特定的字体。此方法将告诉您要在指定位置找到字体。

  • 正如我所说,您现在提出的问题与您在此处发布的问题完全不同。您应该关闭这个并发布一个专门用于添加属性的新的。 (2认同)
  • 我已经告诉你在哪里看。NSMutableAttributedString 文档中显示的方法列表显示了一个非常明显的添加属性的方法。不要害怕文档。看到该方法后,您可以在此处或通过 Google 轻松搜索其使用情况。 (2认同)