Как добавить фоновую линию в многострочной метке с помощью 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]; 
  • Как определить, когда UILabel будет усечен, или позиция его разрыва строки изменится
  • Как объединить только два верхних угла UILabel?
  • editStyleForRowAtIndexPath вызывал три раза одновременно. Зачем?
  • Изменение текста UILabel испортило анимацию?
  • iOS есть способ назначить локализованную строку для UILable из IB / раскадровки
  • iOS 7/8 UITableView Cell: два UILabels с динамической высотой с автоматической компоновкой для переменной высоты строки
  • iPhone - настройка ширины UILabel в соответствии с текстом
  • Пользовательская ширина UILabel, основанная на длине текста, программно
  • Интервал UILabel NSAttributedString игнорируется на iOS7
  • Как сделать UILabel NSUnderlineStyle.StyleSingle атрибутированнымString центром для Capital Letters
  • Как настроить UIlabel TextColor динамически
  • Interesting Posts
    Давайте будем гением компьютера.