Как показать жирным и курсивным как My NSString без ThirdParty Libary в Objective-c

Вот мой код, который я пытаюсь сделать:

NSString *strFirst = [NSString stringWithFormat:@"The App feature is only available to users while at "]; NSString *strAreaName = kAreaName; NSRange boldedRange = [strAreaName rangeOfString:strAreaName]; NSMutableAttributedString *newAttString = [[NSMutableAttributedString alloc] initWithString:strFirst]; NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:strAreaName]; UIFont *fontText = [UIFont boldSystemFontOfSize:17.0]; NSDictionary *dictBoldText = [NSDictionary dictionaryWithObjectsAndKeys:fontText, NSFontAttributeName, nil]; [attrString setAttributes:dictBoldText range:boldedRange]; [newAttString appendAttributedString:attrString]; [lblFirst setAttributedText:newAttString]; 

Вывод :
Функция App доступна только пользователям, находясь в Америке.

Но я хочу, чтобы Америка была полужирным и курсивным.

Пожалуйста, направляйте меня, чтобы добавить в мою строку.

Благодаря,
Mihir

Solutions Collecting From Web of "Как показать жирным и курсивным как My NSString без ThirdParty Libary в Objective-c"

Может быть, вы можете попробовать под кодом:

 //----Creating font dictionary for bold-italic text UIFontDescriptor *fontDescriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody]; UIFontDescriptor *fontDescriptorNew; NSDictionary *dictBoldItalicText; uint32_t NewStyles = [fontDescriptor symbolicTraits] | UIFontDescriptorTraitBold | UIFontDescriptorTraitItalic; fontDescriptorNew = [fontDescriptor fontDescriptorWithSymbolicTraits:NewStyles]; UIFont *updatedFont = [UIFont fontWithDescriptor:fontDescriptorNew size:17.0];//set your font size dictBoldItalicText = @{ NSFontAttributeName : updatedFont }; //---------- NSString *strFirst = [NSString stringWithFormat:@"The App feature is only available to users while at "]; NSString *strAreaName=@"America"; NSRange boldedRange = [strAreaName rangeOfString:strAreaName]; NSMutableAttributedString *newAttString = [[NSMutableAttributedString alloc] initWithString:strFirst]; NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:strAreaName]; [attrString setAttributes:dictBoldItalicText range:boldedRange];//Assigning bold-italic attribute dictionary [newAttString appendAttributedString:attrString]; [lblFirst setAttributedText:newAttString]; 

Протестировано и работает отлично.

Возможно, с помощью сторонней библиотеки вы измените значение свойства метки в инспекторе атрибутов так же, как показано ниже. введите описание изображения здесь

PLZ использовать этот код

  UIFontDescriptor *fontDescriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody]; UIFontDescriptor *changedFontDescriptor; NSDictionary *attributes; uint32_t existingTraitsWithNewTrait = [fontDescriptor symbolicTraits] | UIFontDescriptorTraitBold | UIFontDescriptorTraitItalic; changedFontDescriptor = [fontDescriptor fontDescriptorWithSymbolicTraits:existingTraitsWithNewTrait]; UIFont *updatedFont = [UIFont fontWithDescriptor:changedFontDescriptor size:0.0]; attributes = @{ NSFontAttributeName : updatedFont }; NSAttributedString * newAttStringd = [[NSAttributedString alloc] initWithString:@"America" attributes:attributes]; lbl.attributedText = newAttStringd; 

Это должно работать:

 NSString *strAreaName = @"America"; NSString *html = [NSString stringWithFormat:@"<html><font size='7' face='Helvetica'>The App feature is only available to users while at <b><i>%@</i></b></font><html>", strAreaName]; NSError *err = nil; lbl.attributedText = [[NSAttributedString alloc] initWithData: [html dataUsingEncoding:NSUTF8StringEncoding] options: @{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes: nil error: &err]; 

Присоединение вывода:

введите описание изображения здесь