我正在使用objective-c中的删除线注释一个可变的属性字符串。使用以下代码。
[MAString addAttribute:NSStrikethroughStyleAttributeName
value:[NSNumber numberWithInt:1]
range:NSMakeRange(0, [text length])]
我不清楚value参数控制什么以及它可能的值是什么。它控制厚度吗?如果是这样,可能的值是什么?
答案 0 :(得分:3)
如何查看documentation?
此值指示文本是否有一条直线,并且对应于NSUnderlineStyle中描述的常量之一。此属性的默认值为styleNone。
然后:
https://developer.apple.com/reference/uikit/nsunderlinestyle
答案 1 :(得分:0)
此答案适用于懒惰的程序员
extension String {
/// Apply strike font on text
func strikeThrough(lineThickness:Int,lineColor:UIColor) -> NSAttributedString {
let attributeString = NSMutableAttributedString(string: self)
attributeString.addAttribute(
NSAttributedString.Key.strikethroughStyle,
value: lineThickness,
range: NSRange(location: 0, length: attributeString.length))
attributeString.addAttribute(
NSAttributedString.Key.strikethroughColor,
value: lineColor,
range: NSRange(location: 0, length: attributeString.length))
return attributeString
}
}
用法
yourlabel.attributedText = "your text".strikeThrough(lineThickness: 3, lineColor: .red)