name : строка, определяющая имя атрибута. Ключи атрибутов могут быть предоставлены другой структурой или могут быть настроены вами. Для получения информации о том, где найти ключи атрибутов, предоставленные системой, см. Раздел обзора в Справочнике по классам NSAttributedString.
значение : значение атрибута, связанное с именем.
aRange : диапазон символов, к которому применяется указанная пара атрибут / значение.
затем
yourLabel.attributedText = attributeString;
Для этого lesser than iOS 6.0 versionsвам нужно 3-rd party componentэто сделать. Один из них - TTTAttributedLabel , другой - OHAttributedLabel .
У меня не работает. Ответ Пурненду Роя работает для меня. Единственная разница в том, что вы проходите мимо value0и проходите Purnendu royvalue: NSUnderlineStyle.styleSingle.rawValue
kuzdu
@kuzdu забавная вещь, что мой ответ был еще в декабре 2017 года, он работает, тогда он просто скопировал мой код и добавил NSUnderlineStyle.styleSingle.rawValue ^ - ^ Но нет проблем, я обновлю этот ответ, чтобы вы были счастливы
Мухаммед Асыраф,
9
Вы можете сделать это в IOS 6 с помощью NSMutableAttributedString.
Это тот, который вы можете использовать в Swift 4, потому что NSStrikethroughStyleAttributeName был изменен на NSAttributedStringKey.strikethroughStyle
let attributeString:NSMutableAttributedString=NSMutableAttributedString(string:"Your Text")
attributeString.addAttribute(NSAttributedStringKey.strikethroughStyle, value:2, range:NSMakeRange(0, attributeString.length))self.lbl.attributedText = attributeString
extensionNSAttributedString{/// Returns a new instance of NSAttributedString with same contents and attributes with strike through added.
/// - Parameter style: value for style you wish to assign to the text.
/// - Returns: a new instance of NSAttributedString with given strike through.
func withStrikeThrough(_ style:Int=1)->NSAttributedString{let attributedString =NSMutableAttributedString(attributedString:self)
attributedString.addAttribute(.strikethroughStyle,
value: style,
range:NSRange(location:0, length: string.count))returnNSAttributedString(attributedString: attributedString)}}
пример
let example =NSAttributedString(string:"This is an example").withStrikeThrough(1)
NSAttributedString
и вUILabel attributedText
собственности.Ответы:
КОД ОБНОВЛЕНИЯ SWIFT 4
затем:
Чтобы какая-то часть струны ударилась, укажите диапазон
Objective-C
В iOS 6.0>
UILabel
поддерживаетNSAttributedString
стриж
Определение :
Parameters List:
name : строка, определяющая имя атрибута. Ключи атрибутов могут быть предоставлены другой структурой или могут быть настроены вами. Для получения информации о том, где найти ключи атрибутов, предоставленные системой, см. Раздел обзора в Справочнике по классам NSAttributedString.
значение : значение атрибута, связанное с именем.
aRange : диапазон символов, к которому применяется указанная пара атрибут / значение.
затем
Для этого
lesser than iOS 6.0 versions
вам нужно3-rd party component
это сделать. Один из них - TTTAttributedLabel , другой - OHAttributedLabel .источник
В Swift, используя перечисление для стиля одиночной зачеркивания:
Дополнительные стили зачеркивания (не забудьте получить доступ к перечислению с помощью .rawValue ):
Шаблоны зачеркивания (должны быть объединены оператором ИЛИ со стилем):
Укажите, что зачеркивание должно применяться только к словам (а не к пробелам):
источник
Я предпочитаю,
NSAttributedString
а неNSMutableAttributedString
для этого простого случая:Константы для указания оба
NSUnderlineStyleAttributeName
иNSStrikethroughStyleAttributeName
атрибуты приписываемого строки:источник
Зачеркнутый в Swift 5.0
Это сработало для меня как шарм.
Используйте его как расширение
Звоните так
Расширение UILabel для зачеркивания Enable / Disable.
Используйте это так:
источник
SWIFT КОД
затем:
Спасибо принцу ответу ;)
источник
SWIFT 4
Другой метод - использовать расширение String
Extension.
Вызов функции: Использовал так
Кредит для @Yahya - обновление за декабрь 2017 г.
Кредит для @kuzdu - обновление в августе 2018 г.
источник
value
0
и проходите Purnendu royvalue: NSUnderlineStyle.styleSingle.rawValue
Вы можете сделать это в IOS 6 с помощью NSMutableAttributedString.
источник
Вычеркнуть текст UILabel в Swift iOS. Пожалуйста, попробуйте, это работает для меня
Вы можете изменить свой "strikethroughStyle", например styleSingle, styleThick, styleDouble
источник
Swift 5
Пример:
источник
Для тех, кто смотрит, как это сделать в ячейке tableview (Swift), вы должны установить .attributeText следующим образом:
Если вы хотите удалить зачеркивание, сделайте это, иначе оно останется !:
источник
Swift 4.2
источник
Я могу опоздать на вечеринку.
В любом случае, я знаю об этом,
NSMutableAttributedString
но недавно я достиг той же функциональности с немного другим подходом.После выполнения всех вышеперечисленных шагов моя метка, UIView и ее ограничения выглядели как на изображении ниже.
источник
Используйте код ниже
источник
Измените свойство текста на приписанное, выберите текст и щелкните правой кнопкой мыши, чтобы получить свойство шрифта. Щелкните зачеркивание.
источник
Для тех, кто сталкивается с проблемой с предупреждением о многострочном тексте
источник
Создайте расширение String и добавьте метод ниже
затем используйте для своего ярлыка, как это
источник
Это тот, который вы можете использовать в Swift 4, потому что NSStrikethroughStyleAttributeName был изменен на NSAttributedStringKey.strikethroughStyle
источник
Swift 4 и 5
пример
источник