Ответ 1
В соответствии с ссылкой NSUttributedString UIKit дополнений вы можете установить
NSStrikethroughColorAttributeName
атрибут UIColor
по вашему выбору.
Я использую следующий код для прокрутки текста
NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:(text ? text : @"")];
[attributeString addAttribute:NSStrikethroughStyleAttributeName
value:@2
range:NSMakeRange(0, [attributeString length])];
label.attributedText = attributeString;
Текст имеет белый цвет, поэтому строка зачеркивания также белая. Я хотел бы изменить это на красный. Как я могу это сделать?
В соответствии с ссылкой NSUttributedString UIKit дополнений вы можете установить
NSStrikethroughColorAttributeName
атрибут UIColor
по вашему выбору.
Добавить атрибут "NSStrikethroughColorAttributeName" в строку
[attributedString addAttributes:@{NSStrikethroughStyleAttributeName: @(NSUnderlineStyleSingle)
, NSStrikethroughColorAttributeName: [UIColor redColor]
, NSBackgroundColorAttributeName: [UIColor yellowColor]}
Документация здесь
SWIFT 3.x
Чтобы зачеркнуть текстовую метку цветом, вам нужно 2 атрибута, один для NSStrikethroughStyleAttributeName для NSStrikethroughColorAttributeName. Я считаю это более читаемым.
let attributedString = NSMutableAttributedString(string: "0,91 €")
attributedString.addAttribute(NSStrikethroughStyleAttributeName, value: NSNumber(value: NSUnderlineStyle.styleSingle.rawValue), range: NSMakeRange(0, attributedString.length))
attributedString.addAttribute(NSStrikethroughColorAttributeName, value: UIColor.red, range: NSMakeRange(0, attributedString.length))
В Swift:
attributeString.addAttribute(NSStrikethroughColorAttributeName, value: UIColor.redColor(), range: NSMakeRange(0, attributeString.length))