Ответ 1
Используйте метод removeAttribute
:
attr.removeAttribute(NSStrikethroughStyleAttributeName, range: NSMakeRange(0, attr.length))
Я добавил некоторые атрибуты к моим кнопкам с атрибутом
let attr = NSMutableAttributedString(string: currTitle)
attr.addAttribute(NSStrikethroughStyleAttributeName, value: 2, range: NSMakeRange(0, attr.length))
attr.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(), range: NSMakeRange(0, attr.length))
currButton?.setAttributedTitle(attr, forState: UIControlState.Normal)
Как я могу удалить NSStrikethroughStyleAttributeName из него после нажатия кнопки?
Используйте метод removeAttribute
:
attr.removeAttribute(NSStrikethroughStyleAttributeName, range: NSMakeRange(0, attr.length))
Это очень просто. Вы можете использовать этот метод из NSMutableAttributedString class
func removeAttribute(_ name: String,
range range: NSRange)
В вашем случае
attr.removeAttribute(NSStrikethroughStyleAttributeName , range:NSMakeRange(0, attr.length))
В Swift 5
let attributeString: NSMutableAttributedString = NSMutableAttributedString(string: "YourStringHere")
attributeString.removeAttribute(NSAttributedString.Key.strikethroughStyle, range: NSMakeRange(0, attributeString.length))
yourLblHere.attributedText = attributeString