Как добавить фоновую линию в многострочной метке с помощью 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]; 

Вы можете иметь в виду 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]; 
  • Значение в последней строке изменения uitableview
  • UILabel с задними пробелами не центрируется должным образом
  • UILabel не показывает subview в iOS8
  • Как настроить размер шрифта, чтобы он соответствовал высоте и ширине UILabel
  • Обнаружить теги хэша #, отметить теги @, в iOS, например, в приложении Twitter
  • iPhone, как определить, будет ли UILabels показывать усеченный текст?
  • UITableViewCell, как сделать правильный текст текста несколькими строками, не перемещая текст слева?
  • изменение цвета текста UILabel
  • У UIImage есть эквивалент myLabel.hidden = YES?
  • iOS / Swift: не может назначить необязательное значение String для свойства текста UILabel
  • iOS динамически создает UILabels
  • Interesting Posts

    Настроить внешний вид кнопки Airplay

    Использование IOS Accelerate Framework для обработки 2D-сигналов на изображениях без питания?

    Как переключить UITableView и UICollectionView

    FOSOAuthServerBundle – генерирует вручную токен доступа

    Отрицательная проставка для UIBarButtonItem в навигационной панели на iOS 11

    Подкласс UINavigationBar обнаруживает, что изменение названия элемента навигации

    Явная анимация Core Animation не срабатывает для недавно добавленного подуровня

    Отображение содержимого UIView, загруженного из xib в раскадровке

    Пользовательский шрифт не работает в iOS 8

    UIMapView: аннотация местоположения пользователя белого цвета не пульсирует синим цветом только в iPad

    Как обнаружить нажатие на маленькие ближайшие кнопки в iOS?

    как захватить avfoundation в ландшафтном режиме вместо портретного режима

    Как я могу разработать для iPhone с помощью машины разработки Windows?

    Autolayout, запрограммированный vs-интерфейс

    Получать уведомление, когда UITableView закончил запрашивать данные?

    Давайте будем гением компьютера.