kCTUnderlineStyleAttributeName 的文档传达了以下内容:
kCTUnderlineStyleAttributeName 要在渲染时应用的下划线样式,适用于应用此属性的文本。值必须是 CFNumber 对象。默认为 kCTUnderlineStyleNone。设置除 kCTUnderlineStyleNone 以外的值来绘制下划线。此外,CTUnderlineStyleModifiers 中列出的常量可用于修改下划线的外观。下划线颜色由文本的前景色决定。
setAttributes 函数的签名如下:
func setAttributes(attrs: [NSObject : AnyObject]?, range: NSRange)
我遇到的问题是文档似乎暗示CTUnderlineStyle.Single可以(并且应该在 Swift 中)用作kCTUnderlineStyleAttributeName键的值。但是,前者是一个结构体,因此不符合字典值类型所要求的 AnyObject 协议。
有任何想法吗?