Как добавить фоновую линию в многострочной метке с помощью NSAttributedString в ios объектно-c

Я хочу добавить линию фона в многострочной метке, используя NSAttributedString в объективе-c, как показано на рисунке ниже введите описание изображения здесь

Я использовал следующий код

[yourView.layer setBorderWidth:5.0]; [yourView.layer setBorderColor:[[UIColor colorWithPatternImage:[UIImage imageNamed:@"DotedImage.png"]] CGColor]];///just add image name and create image with dashed or doted drawing and add here 

Но это не работает отлично, и я хочу реализовать соответствующие методы, как я могу это добиться. Их использование также не подходит Link1 , Link2 , Link3 , Link4

Я смог решить, используя следующий код

 NSAttributedString * title = [[NSAttributedString alloc] initWithString:@"I implement My test in here" attributes:@{NSStrikethroughStyleAttributeName:@(NSUnderlineStyleSingle)}]; [ self.viewOrderCell.labelItem setAttributedText:title]; 

3 Solutions collect form web for “Как добавить фоновую линию в многострочной метке с помощью NSAttributedString в ios объектно-c”

Вы можете иметь в виду Strike, iOS 6.0 и upper, UILabel поддерживает NSAttributedString и NSMutableAttributedString

При использовании NSAttributedString

 NSAttributedString * title = [[NSAttributedString alloc] initWithString:@"Your String here" attributes:@{NSStrikethroughStyleAttributeName:@(NSUnderlineStyleSingle)}]; [label setAttributedText:title]; 

Определение:

 /** * Returns an NSAttributedString object initialized with a given string and attributes. * * @param str : The string for the new attributed string. * @param attrs : The attributes for the new attributed string. For information * about where to find the attribute keys you can include in this dictionary, * see the overview section of this document. * * @return Returns an NSAttributedString object initialized with the characters of aString and the attributes of attributes. The returned object might be different from the original receiver. */ - (instancetype)initWithString:(NSString *)str attributes:(NSDictionary *)attrs; 

При использовании NSMutableAttributedString

 NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:@"Your String here"]; [attributeString addAttribute:NSStrikethroughStyleAttributeName value:@2 range:NSMakeRange(0, [attributeString length])]; 

Определение:

 /** * * @param name : A string specifying the attribute name. Attribute keys can be * supplied by another framework or can be custom ones you define. For * information about where to find the system-supplied attribute keys, see the * overview section in NSAttributedString Class Reference. * * @param value : The attribute value associated with name. * * @param aRange : The range of characters * to which the specified attribute/value pair applies. */ - (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)aRange; 

затем

 yourLabel.attributedText = attributeString; 

Ниже код может помочь решить вашу проблему.

 NSString* textValue = @"Pages you view in iOS Multiple lines of text in"; NSMutableAttributedString *strikeString = [[NSMutableAttributedString alloc] initWithString:textValue]; [strikeString addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0, [strikeString length])]; [descriptionLbl setAttributedText:strikeString]; descriptionLbl.numberOfLines = 0; 
 NSDictionary *attrDict = @{NSFontAttributeName : [UIFont systemFontOfSize:14.0],NSForegroundColorAttributeName : UIColorFromRGB(0X2846B3)}; NSMutableAttributedString *title =[[NSMutableAttributedString alloc] initWithString:hotleUrl attributes: attrDict]; [title addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0,[title length])]; [urlBttn setAttributedTitle:title forState:UIControlStateNormal]; 
  • Текст центра UIButton для кнопки плавающего действия, например, Inbox
  • Как установить высоту ярлыка для автоматической настройки в Read More / Less with Swift 3?
  • Проверить усечение в UILabel - iOS, Swift
  • Многострочный UILabel пропускает последнюю строку иногда iOS
  • Сбой приложения Iphone по строке: UIKit`-
  • Пауза и возобновление анимации AnimateWithDuration ios
  • Как я могу отображать текст на UILabel один за другим после каждого нажатия кнопки?
  • Как изменить размер текста (шрифта) в соответствии с UISegment UISegmentedControl?
  • Изменение стиля текста Uilabel Objective-C
  • Получить количество строк, необходимых для UILabel из NSString?
  • Текст в формате iOS Swift Wrapping Around Image
  • Interesting Posts

    Видео с GPUImage с прозрачностью над UIView

    Если фильтр применяется к PNG, где высота> ширина, он поворачивает изображение на 90 градусов. Как я могу эффективно предотвратить это?

    Изменение изображения кнопки BackController для всех экранов

    Пользовательский переход UIViewController – как и вкладка приложения appstore iOS 11

    Передача данных между контроллерами ios 7

    Неустранимая ошибка: использование нереализованного инициализатора 'init (realm: schema :)'

    Получение амплитуды текущего тонального сигнала с использованием основного звука

    данные, не отправляемые с iOS 7 на ios 8 через Bluetooth

    Сбой приложений только при тестировании

    Как Sunrise для iOS использует учетные данные iCloud для доступа к нашему календарю?

    как создать изображение в оттенках серого из nsimage в swift?

    Не удалось сохранить NSNumber в основных данных

    Google Analytics не работает в iOS

    Управление памятью нескольких простых UIViews

    Поддерживает ли SpriteKit плотную тесселяцию спрайта / текстуры / формы, чтобы он мог свободно изнашиваться?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.